Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Navigating the codebase

The code is organised using a Rust workspace with separate crates for the node and faucet binaries, a crate for each node component, a couple of gRPC-related codegen crates, and a catch-all utilities crate.

The primary artifacts are the node and faucet binaries. The library crates are not intended for external usage, but instead simply serve to enforce code organisation and decoupling.

CrateDescription
nodeThe node executable. Configure and run the node and its components.
faucetA reference faucet app implementation used by the official Miden faucet.
proving-serviceDelegated proving executables. Includes workers and proxies.
proving-service-clientDelegated proving client implementation.
block-producerBlock-producer component implementation.
storeStore component implementation.
rpcRPC component implementation.
protoContains and exports all protobuf definitions.
rpc-protoContains the RPC protobuf definitions. Currently this is an awkward clone of proto because we re-use the definitions from the internal protobuf types.
utilsVariety of utility functionality.
test-macroProvides a procedural macro to enable tracing in tests.

note

miden-base is an important dependency which contains the core Miden protocol definitions e.g. accounts, notes, transactions etc.

workspace dependency tree