Skip to content

bankonme/yagna

 
 

Repository files navigation

New Golem (dubbed internally as YAGNA)

CI

Golem is a global, open-source, decentralized supercomputer that anyone can use. It is made up of the combined computing power of the users' machines, from PCs to entire data centers. To facilitate that exchange, Golem implements a decentralized marketplace where IT resources such as computation hardware are rented out. The actors in this decentralized network can assume one of the two non-exclusive roles:

  • Requestor Has a need to use IT resources such as computation hardware. Those resources are purchased in the decentralized market. The actual usage of the resources is backed by Golem's decentralized infrastructure.

  • Provider Has IT resources available that can be shared with other actors in the network. Those resources are sold in the decentralized market.

Documentation

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

Project Layout

  • agent - basic agent applications based on core services.
  • core - core services for the open computation marketplace.
  • exe-unit - ExeUnit Supervisor.
  • service-bus - portable, rust-oriented service bus for IPC.
  • test-utils - some helpers for testing purposes
  • utils - trash bin for all other stuff ;)
  • docs - project documentation including analysis and specifications.

Public API

Public API rust binding with data model is in ya-client repo.

High Level API

Public high-level API for Python is in yapapi repo.

Runtimes

We call our runtime ExeUnit. As for now we support

Other ExeUnit types are to come (see below).

MVP Requirements

  • Clean and easy UX, most specifically during onboarding.
  • GLM-centric.
  • Production-ready, modular and easy to maintain architecture and code base.
    Modular means that all the building blocks can be easily replaceable.
  • Documentation and SDK for developers.
  • Small footprint binaries.

Functional

  1. Distributed computations
    • Batching
    • Services (optional)
  2. Computational environment (aka ExeUnit)
    • Wasm computation
    • Light vm-s (optional)
    • Docker on Linux (optional)
    • SGX on Graphene (optional)
  3. Payment platform
    • Payments with GLM
    • Gasless transactions
    • ERC20 token
    • payment matching (optional)
  4. Transaction system
    • Usage market
    • Pay per task
    • Pay for dev (optional)
  5. Network
    • P2P (Hybrid P2P)
    • Ability to work behind NAT (Relays)
  6. Verification
    • Verification by redundancy
    • No verification
    • Verification by humans (optional)
  7. Back compatibility
    • Golem Brass/Clay interoperability (optional)

About

An open platform and marketplace for distributed computations

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.7%
  • Other 0.3%