MCPcopy Index your code
hub / github.com/autonomys/subspace

github.com/autonomys/subspace @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
5,493 symbols 16,058 edges 518 files 1,632 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Subspace Network Monorepo

Latest Release Downloads Latest Rust Rust Docs

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

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
  • subspace-node is an implementation of the node for Subspace protocol
  • subspace-farmer is a CLI farmer app
  • subspace-gateway is a Subspace Distributed Storage Network gateway
  • domains contains client and runtime code for decoupled execution and domains
  • shared contains low-level primitives used by the node, farmer, and other applications

How to run

Please refer to farming.md for how to run the farmer.

If you are looking to farm offline, or build from source for development purposes please refer to development.md.

Extension points exported contracts — how you extend this code

MaybeMessengerCall (Interface)
Trait to convert Runtime call to possible Messenger call. [6 implementers]
domains/pallets/messenger/src/extensions.rs
GenericRequest (Interface)
Generic request with associated response [6 implementers]
crates/subspace-networking/src/protocols/request_response/handlers/generic_request_handler.rs
GenericRequest (Interface)
Generic request with associated response. Used for cases where request/response pattern is needed and response contains [9 …
crates/subspace-farmer/src/cluster/nats_client.rs
CreateUnsigned (Interface)
Interface for creating an unsigned general extrinsic [6 implementers]
crates/subspace-runtime-primitives/src/lib.rs
ReadAtSync (Interface)
Sync version of [`ReadAt`], it is both [`Send`] and [`Sync`] and is supposed to be used with a thread pool [13 implementers]
crates/subspace-farmer-components/src/lib.rs
Config (Interface)
(no doc) [30 implementers]
domains/test/pallets/storage_overlay_checks/src/lib.rs
PieceGetter (Interface)
(no doc) [15 implementers]
shared/subspace-data-retrieval/src/piece_getter.rs
Config (Interface)
(no doc) [16 implementers]
crates/pallet-domains/src/lib.rs

Core symbols most depended-on inside this repo

saturating_add
called by 1060
crates/subspace-core-primitives/src/lib.rs
len
called by 358
crates/subspace-farmer-components/src/proving.rs
iter
called by 335
crates/subspace-farmer-components/src/sector.rs
clone
called by 322
domains/client/domain-operator/src/operator.rs
clone
called by 284
crates/subspace-core-primitives/src/pieces.rs
clone
called by 266
crates/sc-domains/src/lib.rs
encode
called by 254
crates/subspace-core-primitives/src/pieces.rs
as_ref
called by 223
crates/subspace-core-primitives/src/lib.rs

Shape

Method 2,773
Function 1,368
Class 945
Enum 275
Interface 132

Languages

Rust100%

Modules by API surface

crates/pallet-domains/src/lib.rs113 symbols
crates/pallet-domains/src/staking.rs107 symbols
domains/client/domain-operator/src/tests.rs96 symbols
crates/sp-domains/src/lib.rs79 symbols
crates/subspace-core-primitives/src/pieces.rs74 symbols
test/subspace-test-service/src/lib.rs70 symbols
crates/pallet-subspace/src/lib.rs64 symbols
test/subspace-test-runtime/src/lib.rs62 symbols
domains/pallets/messenger/src/lib.rs58 symbols
domains/runtime/evm/src/lib.rs53 symbols
crates/subspace-runtime/src/lib.rs52 symbols
domains/test/runtime/evm/src/lib.rs51 symbols

For agents

$ claude mcp add subspace \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact