Crate dependencies

BLVM is a six-layer stack. Stack layer means architecture position, not governance repository layers or governance tiers (PR classification). Layer descriptions and the stack diagram: Stack overview.

Dependency Graph

Edges point from a crate toward a crate it depends on (library import direction). The Orange Paper is not a Rust crate; it informs consensus (dotted).

flowchart LR OP[Orange Paper] C[blvm-consensus] P[blvm-protocol] N[blvm-node] S[blvm-sdk] G[blvm-commons] OP -.->|informs| C P --> C N --> P N --> C S --> P S --> C G --> S G --> P

blvm-primitives (types, serialization, crypto) sits under blvm-consensus and blvm-protocol; it is not shown as its own stack layer here.

Governance repository layers by crate

Stack layerCrateGovernance layer
1blvm-spec (Orange Paper)Layer 1: 6-of-7, 180 days
2blvm-consensusLayer 2: 6-of-7, 180 days
3blvm-protocolLayer 3: 4-of-5, 90 days
4blvm-nodeLayer 4: 3-of-5, 60 days
5blvm-sdkLayer 5: 2-of-3, 14 days
6blvm-commonsLayer 5: 2-of-3, 14 days

See Governance layers and tiers for how layers combine with PR tiers.

Data flow

The dependency graph above is the accurate picture for crate dependencies. At runtime, blocks and transactions flow through the node, which calls into protocol and consensus libraries to validate; the Orange Paper remains the specification those libraries implement.

How the Stack Works Figure: Operational view (IBD, validation, modules, governance). For which crate depends on which, use the dependency graph in this page.

  1. Orange Paper specifies consensus rules.
  2. blvm-consensus implements those rules (pure functions).
  3. blvm-protocol layers network parameters, wire helpers, and protocol policy on top of consensus types.
  4. blvm-node runs networking, storage, RPC, and orchestration; validation calls into protocol + consensus.
  5. blvm-sdk supplies governance crypto, composition, and (optional) node integration for modules.
  6. blvm-commons runs governance enforcement services using blvm-sdk and blvm-protocol types.

Cross-Layer Validation

  • Dependencies between layers are strictly enforced in the crate graph (no application layer should reimplement consensus).
  • Consensus rule modifications are prevented in application layers by design (validation calls into blvm-consensus).
  • The Orange Paper is the specification; blvm-consensus is checked with formal verification, tests, and review, not a single “one-shot” equivalence proof of the whole spec.
  • Version coordination (Cargo / release sets) keeps compatible crate versions together.

See Also