Home

Awesome

Golem

Official Rust implementation of Golem. Golem is a network of nodes that implement the Golem Network protocol. We provide the default implementation of such a node in the form of the Golem daemon, Yagna.

<h5 align="center"> <a href='https://golem.network/'><img width='500px' alt='' src="https://user-images.githubusercontent.com/35585644/111472751-939f5100-872a-11eb-8c26-926117080e35.png" /></a> <br/>A flexible, open-source platform for democratised access to digital resources. </a> </h5> </p> <p align="center"> <a href="https://github.com/golemfactory/yagna/workflows/CI/badge.svg" alt="CI"> <img src="https://github.com/golemfactory/yagna/workflows/CI/badge.svg" /></a> <a href="https://github.com/golemfactory/yagna/watchers" alt="Watch on GitHub"> <img src="https://img.shields.io/github/watchers/golemfactory/yagna.svg?style=social" /></a> <a href="https://github.com/golemfactory/yagna/stargazers" alt="Star on GitHub"> <img src="https://img.shields.io/github/stars/golemfactory/yagna.svg?style=social" /></a> <a href="https://discord.com/invite/golem" alt="Discord"> <img src="https://img.shields.io/discord/684703559954333727?logo=discord" /></a> <a href="https://twitter.com/golemproject" alt="Twitter"> <img src="https://img.shields.io/twitter/follow/golemproject?style=social" /></a> <a href="https://reddit.com/r/GolemProject" alt="Reddit"> <img src="https://img.shields.io/reddit/subreddit-subscribers/GolemProject?style=social" /></a> </p>

Golem Network has officially gone on Ethereum Mainnet with the Beta I release in March 2021.

Golem democratizes society’s access to computing power by creating a decentralized platform where anyone can build a variety of applications, request computational resources and/or offer their idle systems in exchange for cryptocurrency tokens (GLM). The actors in this decentralized network can assume one of the three non-exclusive roles:

Documentation

For a more in-depth look at how Golem works, head over to our documentation.

Project Layout

Public API

The public API rust binding with data model is in the ya-client repo.

High Level APIs

The public high-level API for Python is in yapapi repo and the JS/TS port is contained in the @golem-sdk/golem-js repo.

Runtimes

We call our runtime ExeUnit. As for now we support

Other ExeUnit types are to come (see below).

Golem Beta Release(s)

Important milestones for Golem development were Beta I and most recent Beta II. With those releases we have delivered:

List of implemented and planned functionality

  1. Distributed computations
    • Batching
    • Services (PoC stage)
  2. Computational environment (aka ExeUnit)
    • Wasm computation
    • Light vm-s
    • Docker on Linux (optional)
    • SGX on Graphene (PoC stage)
  3. Payment platform
    • Payments with GLM
    • ERC20 token
    • Layer 1 & Layer 2 transactions
    • Payment matching (optional) (Ability for the invoice issuer to match the payment with Debit Note(s)/Invoice(s)).
  4. Transaction system
    • Pay as you go(lem) (see more)
    • Pay per task
    • Pay for dev (optional)
  5. Network
    • P2P (Hybrid P2P; in progress)
    • Ability to work behind NAT (Relays; in progress)
  6. Verification
    • Verification by redundancy (see also)
    • No verification
    • Verification by humans (optional)

Road ahead

We are actively working on improving Yagna and extending its functionality, check upcoming releases and other news on our blog.