Core datatypes for the Dusk blockchain node — ledger structures, network messages, and wire-format encoding
Node Data is the shared vocabulary between node, consensus, and rusk. It defines all types that travel across the network or get persisted to the ledger, along with deterministic serialization logic for wire compatibility.
| Module | Description |
|---|---|
bls |
BLS public key wrappers with base58 and hex encoding |
ledger |
Header, Block, SpentTransaction, Fault, Slash, Attestation |
message |
Consensus message types with versioning and status tracking |
encoding |
Serializable trait for deterministic wire-format encoding |
events |
Block, transaction, and contract event types |
Warning: Field ordering in serialized types is protocol-sensitive. Reordering fields or changing encoding can break network compatibility between nodes.
All wire-format types implement the Serializable trait, which provides read and write methods for deterministic binary encoding.
| Feature | Description |
|---|---|
faker |
Generates test data via the fake crate |
dusk-core— foundation types (signatures, scalars)node— consumes ledger and message types for chain operationsconsensus— consumes message types for consensus protocolrusk— consumes event and ledger types for APIsrusk-wallet— consumes ledger types for transaction display