Skip to content

Arthur-Daniels/subspace

Repository files navigation

Subspace Network Monorepo

Rust TypeScript

This is a mono repository for Subspace Network implementation, primarily containing Subspace node/client using Substrate framework and farmer app implementations.

The implementation is currently being upgraded to Subspace, in the meantime you'll find multiple references to Spartan Proof-of-Capacity (PoC) consensus, which is a simplified version of Subspace using proof of useless storage that was implemented as part of Web 3 Foundation Open Grant.

Repository structure

The structure of this repository is the following:

  • crates contains Subspace-specific Rust crates used to build node and farmer, most are following Substrate naming conventions
  • substrate contains modified copies of Substrate's crates that we use for testing
  • node-template-spartan is the current implementation of the node for Spartan protocol (will be upgraded to Subspace soon)

How to run

This is a monorepo with multiple binaries and the workflow is typical for Rust projects:

  • cargo run --bin node-template-spartan -- --dev --tmp to run a node
  • cargo run --release --bin spartan-farmer -- plot 256000 spartan to create a 1 GiB plot
  • cargo run --release --bin spartan-farmer -- farm to start farming

NOTE: You need to have nightly version of Rust toolchain with wasm32-unknown-unknown target available or else you'll get a compilation error.

You can find readme files in corresponding crates for requirements, multi-node setup and other details.

About

Subspace Network reference implementation

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%