Awesome Golem


Welcome to Awesome Golem, a community-curated list
of resources, links, projects, tools and applications on Golem!
The users of Golem run the reference implementation in the form of
the Rust implementation, Yagna. Together the users make up the Golem
Network, a P2P marketplace for computational resources where individuals
can act as one of the two non-exclusive roles; a provider selling idle
resources, or a requestor buying resources to run tasks.
Contents
Golem
- Golem Network
Platform - Learn the Golem platform on the official Golem Network
website.
- Golem Network Discord -
Join the Golem Network community on Discord and chat directly with the
team.
- Reddit - Golem
Network discussion on the Reddit platform.
- Twitter - The Golem
Project Twitter.
- Blog - The official blog
where you can find the most reliable information on announcements,
summaries and updates.
Network Statistics
Golem Projects
GPU Provider
We want to extend the capabilities of Golem Network for GPU
workloads. Project status is available on the pinned messages of the
dedicated GPU Provider channel on our Discord. You can find it under
#golem-projects.
Ray on Golem
Ray on
Golem is an exciting integration with Ray, a distributed computing
framework, to provide an easier way of accessing the Golem Network for
Python developers.
golem-js - the JS SDK from
Golem
golem-js is a
library and set of developer tools and docs that are aimed to enable
developers to create Golem applications running in Node.js or browser
context.
Jupyter on Golem
Jupyter
on Golem is a JupyterLab Python kernel that empowers you to run your
Python Notebooks using the decentralized resources available on the
Golem Network.
Rendering on Golem
In close collaboration with Reality Games, we’ve developed a service
that activates Golem’s providers for rendering personalized building
animations as a (web2) proof-of-ownership for ERC-1155 tokens. Learn
more here
Reputation System
The Reputation System goal is to address the challenges of trust and
reliability in the network where anyone can participate as a provider or
requestor without any sort of identification. The system aims to
establish a framework of trust, ensuring secure and reliable
interactions between participants on the network.
Ecosystem
Blockchain Automations
(aka Emeth.xyz)
Emeth specializes in DeFi (Decentralized Finance) portfolio
management and blockchain automations. It leverages Golem’s technology
to offer tools for automation and simplification of managing DeFi
investments. The platform focuses on enhancing the ease and efficiency
of operating within the DeFi space. It combines user-friendly interfaces
with sophisticated analytics, catering to the needs of both novice and
experienced DeFi users.
Developer and Requestor
Resources
Provider Resources
Monitoring
Provisioning
- Ansible
ya_provider - Ansible role that deploys a Golem provider
automatically with minimal configuration required.
- Golem
Provider Terraform - Terraform script to automatically deploy a
Golem Provider on a cloud provider and setup monitoring using
prometheus.
- Automatic
Golem - Setup a Golem Provider with simple instructions and logs
guiding you through the process.
- Golem
Provider Node - Docker version of a node to help you get started
running as a provider in a Docker container quick.
- Golem
Provider node - Fork of Alxexandre-abrioux project above that allows
to dynamically generate config files from ENV variables and specify how
many replicas you’d like to spawn.
Learning Resources
Presentations and Workshop
Material
Unraveling
Golem’s The Next Milestone Blog Series
GitHub Digest Blog Series
Contributing
Pull requests and issues with suggestions to Awesome Golem are
welcome! Please read the contributing
guidelines before submitting a PR.
Archive
Apps
- Chess On Golem - Hosted
Chess app to play against the providers of the network utilizing the
Stockfish open source Chess engine.
- Go le’ Machin -
Web based bulk image editor that allows users to upload multiple images
and apply bulk actions to them.
Docker
- Golem
Requestor Node - Dockerized requestor environment. Pass in the py
script, it sets up the daemon and runs it.
Testing
- Golem Test Harness
(Goth) - Tool with the purpose of speeding up your development
process and making it more enjoyable for application creators.
- Golem-afl - An
experimental test-fuzzing framework. Assists in finding security
holes.
- Golem Cargo
Test - An adaptive distributed test executor for Rust projects.
- Golem CI -
Decentralized task pipeline.
- Golem SLATE
- Open source repository for Golem SLATE described in the above Apps
section.
- ThorgPress
- A tool to benchmark providers and unveil their true capabilities
beyond what can be seen through the marketplace.
VPN
- Yagna
httpx client - VPN usage on Yagna demonstrating communication with a
provider-based HTTP server the way you communicate with any other HTTP
server.
- Golem
Provider with network access - A requstor that acts as a http proxy
for running providers, allowing them to access the wider internet.
Games
- Golem Sudoku
- Game of Sudoku with size variants.
- HSOG-requester
- Helps the HearthStone community in the design and building of decks by
running a large number of simulated games.
- ChessOnGolem
- Open source repository for Chess described in first Apps section.
Includes React frontend for the 2 AI’s playing against each other
through the Golem backend.
- Golem
Fleet Battle Simulator - System for calculating the results of a
battle between two opposing starship fleets. Used in the iOS game Rock
Paper Frigate to determine the result of PvP fleet battles.
- Golem
Completion Engine - Enhanced bash completion engine that extends
built-in completions by providing contextual help for golemsp and
yagna.
- Golocity -
Build and deploy your dockerized applications on the Golem Network in
just two commands.
- gc__push_image
- A CLI tool that publishes the GVMI image to Skynet, making users able
to change the image_url without self-hosting/giving up control.
Video Transcoding and
Editing
- Golem Network
Video Transcoder - Sample app to transcode videos. Select your
transcoding profile and then upload your videos.
- Golem
Transcoding requestor - React + Spring based webapp accepting video
files as input and transcoding these files into different formats.
- Golem Auto
Editor - Run Auto-Editor to automatically perform some video editing
functions, offload the video processing to Golem.
Data Analysis
- Coacervate
- Coacervate is a free and open-source public good that lets you easily
run genomic analyses on an extremely low-cost global supercomputer;
democratizing access to the knowledge and infrastructure required to
carry out groundbreaking research.
- Flan - Tool for
entrepreneurs that provide customized analysis of millions of worldwide
trade value records giving them a bold guideline about what sectors they
would need to take more attention to.
- Golem
Lorenz-attractor - A system of three coupled, first-order, nonlinear
differential equations which describe the trajectory of a particle
through time.
- Golem
Geomandel - Python script for generating sequences of Mandelbrot
images centered on a single point and with zoom increasing in each
image.
- Golem COVID -
Creates images of new deaths per million related to COVID. After all
images generated, it will gather them and create a gif.
- Golem
Parallel Matplotlib - Various statistical analyses are performed on
circadian rhythm measurements in human test subjects.
- Full-Text
Search Engine - A search engine service that goes through text
files.
Data Simulation
- cadCAD Golem -
Package wrapper for cadCAD to dispatch the simulation workload to
multiple Golem nodes. Supports Jupyter Notebook.
- Golem Array
- Antenna array design and simulation.
- Limit
visualization - Plots graphs with various limits. Supports
discontinous graphs.
- GolemGraphWavePair
- Generates graph frames, then combine them into an animation.
- Golemized
strong-gravitational-lense - Simple distributed computing hack that
simulates a physical phenomena called gravitional lensing.
Data Optimization
- Golem
or-tools - Uses the or-tools Constraint Programming library to solve
problems.
- No more
COFUD - Calculates how to fit the most people into a space while
keeping 2 meters distance between each other.
- Mutta
Puffs - Sports league scheduler that solves the Travelling
Tournament Problem for a given set of teams using Population-based
Simulated Annealing.
Machine Learning
- DeML-Golem -
Decentralised Machine Learning using Federated Learning to combine the
sub-step models, it trains on different provider nodes into a full
fleged model.
- Golem
Image Classifier - Train and classify images through an active
service.
Deep Learning
- Mlg - CNN predict
services, a deep learning application that distributes popular CNNs
pre-trained with ImageNet datasets.
- Deepart
Golem - Makes art using distributed computing by running a
tensorflow app, uploading your content and style picture.
RNG
- Gandom - Extract
random streams from providers. Supports two PRNGs, one based on Chaos
machines and the other that makes use of Sodium.
- Entropythief - Get
random entropy at a steal of a rate from multiple providers utilizing
the linux entropy source or Intel’s RDRAND cpu instruction (inspired by
Gandom).
Password Recovery
- Golem-JTR - Run
John The Ripper to recover a password.
- Yacat
- Hashcat password-recovery step-by-step.
DeFi
- Golem Staking
Pool incentivize system for GLM holders - A smart contract in order
to provide the opportunity of yield farming for GLM token holders.
- Magic-doll -
Sumer is a DeFi application that people may delegate their Splinterland
card to earn passive income. Its core is
Kyle, a Golem app
that does all the computation to pick the best team to play for each
match.
User Interfaces
- Golem
UI - Electron user interface for Yagna.
Miscellaneous
- Gc__ListOffers -
List offers by providers on the Golem Network with a GUI.
- gvm-vim -
Golemized docker image for compiling the VIM editor.
- Golem Image
Sharpening - A tool to sharpen images.
- Filterms -
Market-strategy for whitelisting or blacklisting as a Golem requestor
(yapapi).
- golem-bulk-image-handler
- Takes an input image and processes it in many different ways using the
Pillow library.