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).
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 layer | Crate | Governance layer |
|---|---|---|
| 1 | blvm-spec (Orange Paper) | Layer 1: 6-of-7, 180 days |
| 2 | blvm-consensus | Layer 2: 6-of-7, 180 days |
| 3 | blvm-protocol | Layer 3: 4-of-5, 90 days |
| 4 | blvm-node | Layer 4: 3-of-5, 60 days |
| 5 | blvm-sdk | Layer 5: 2-of-3, 14 days |
| 6 | blvm-commons | Layer 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.
Figure: Operational view (IBD, validation, modules, governance). For which crate depends on which, use the dependency graph in this page.
- Orange Paper specifies consensus rules.
- blvm-consensus implements those rules (pure functions).
- blvm-protocol layers network parameters, wire helpers, and protocol policy on top of consensus types.
- blvm-node runs networking, storage, RPC, and orchestration; validation calls into protocol + consensus.
- blvm-sdk supplies governance crypto, composition, and (optional) node integration for modules.
- 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
- Stack overview - Six-layer stack and component summary
- Design Philosophy - Core design principles
- Consensus Overview - Consensus layer details
- Protocol Overview - Protocol layer details
- Node Overview - Node implementation details