An open platform and marketplace for distributed computations.
- 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 rust binding with data model is in ya-client repo.
Public high-level API for Python is in yapapi repo.
We call our runtime ExeUnit. As for now we support
- Light VM - QEMU-based ExeUnit.
- and WASM in two flavours:
- wasmtime - Wasmtime-based ExeUnit.
- emscripten - SpiderMonkey-based ExeUnit.
Other ExeUnit types are to come (see below).
- Clean and easy UX, most specifically during onboarding.
- NGNT-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.
- Distributed computations
- Batching
- Services (optional)
- Computational environment (aka ExeUnit)
- Wasm computation
- Light vm-s (optional)
- Docker on Linux (optional)
- SGX on Graphene (optional)
- Payment platform
- Payments with NGNT
- Gasless transactions
- ERC20 token
- payment matching (optional)
- Transaction system
- Usage market
- Pay per task
- Pay for dev (optional)
- Network
- P2P (Hybrid P2P)
- Ability to work behind NAT (Relays)
- Verification
- Verification by redundancy
- No verification
- Verification by humans (optional)
- Back compatibility
- Golem Brass/Clay interoperability (optional)