3 unstable releases

new 0.2.0 Oct 14, 2020
0.1.1 Sep 3, 2020
0.1.0 Sep 3, 2020

#84 in Images

Download history 76/week @ 2020-09-01 68/week @ 2020-09-08 8/week @ 2020-09-15 91/week @ 2020-09-22 9/week @ 2020-09-29 11/week @ 2020-10-06 28/week @ 2020-10-13

89 downloads per month
Used in 3 crates (via gftp)

LGPL-3.0

120KB
3.5K SLoC

The Next Milestone (dubbed internally as YAGNA)

CI

An open platform and marketplace for distributed computations.

Project Layout

  • agent - applications based on core services.
  • core - core services for the open computation marketplace. basic wasm provider and simple wasm requestor.
  • 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 binding with data model is in ya-client repo.

Runtimes

We call our runtime ExeUnit. As for now we support WASM in two flavours:

Other ExeUnit types are to come (see below).

MVP Requirements

  • 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.

Functional

  1. Distributed computations
    • Batching
    • Services (optional)
  2. Computational environment (aka ExeUnit)
    • Wasm computation
    • Light vm-s (optional)
    • Docker on Linux (optional)
  3. Payment platform
    • Payments with NGNT
    • 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 interoperability (optional)

Dependencies

~11MB
~210K SLoC