Crates
This is an index of all of Cuprate's in-house crates it uses and maintains.
They are categorized into groups.
Crate documentation for each crate can be found by clicking the crate name or by visiting https://doc.cuprate.org. Documentation can also be built manually by running this at the root of the cuprate
repository:
cargo doc --package $CRATE
For example, this will generate and open cuprate-blockchain
documentation:
cargo doc --open --package cuprate-blockchain
Consensus
Crate | In-tree path | Purpose |
---|---|---|
cuprate-consensus | consensus/ | TODO |
cuprate-consensus-context | consensus/context/ | TODO |
cuprate-consensus-rules | consensus/rules/ | TODO |
cuprate-fast-sync | consensus/fast-sync/ | Fast block synchronization |
Networking
Crate | In-tree path | Purpose |
---|---|---|
cuprate-epee-encoding | net/epee-encoding/ | Epee (de)serialization |
cuprate-fixed-bytes | net/fixed-bytes/ | Fixed byte containers backed by byte::Byte |
cuprate-levin | net/levin/ | Levin bucket protocol implementation |
cuprate-wire | net/wire/ | TODO |
P2P
Crate | In-tree path | Purpose |
---|---|---|
cuprate-address-book | p2p/address-book/ | TODO |
cuprate-async-buffer | p2p/async-buffer/ | A bounded SPSC, FIFO, asynchronous buffer that supports arbitrary weights for values |
cuprate-dandelion-tower | p2p/dandelion-tower/ | TODO |
cuprate-p2p | p2p/p2p/ | TODO |
cuprate-p2p-bucket | p2p/bucket/ | A collection data structure discriminating its items into "buckets" of limited size. |
cuprate-p2p-core | p2p/p2p-core/ | TODO |
Storage
Crate | In-tree path | Purpose |
---|---|---|
cuprate-blockchain | storage/blockchain/ | Blockchain database built on-top of cuprate-database & cuprate-database-service |
cuprate-database | storage/database/ | Pure database abstraction |
cuprate-database-service | storage/database-service/ | tower::Service + thread-pool abstraction built on-top of cuprate-database |
cuprate-txpool | storage/txpool/ | Transaction pool database built on-top of cuprate-database & cuprate-database-service |
RPC
Crate | In-tree path | Purpose |
---|---|---|
cuprate-json-rpc | rpc/json-rpc/ | JSON-RPC 2.0 implementation |
cuprate-rpc-types | rpc/types/ | Monero RPC types and traits |
cuprate-rpc-interface | rpc/interface/ | RPC interface & routing |
cuprate-rpc-handler | rpc/handler/ | RPC inner handlers |
1-off crates
Crate | In-tree path | Purpose |
---|---|---|
cuprate-constants | constants/ | Shared const/static data across Cuprate |
cuprate-cryptonight | cryptonight/ | CryptoNight hash functions |
cuprate-pruning | pruning/ | Monero pruning logic/types |
cuprate-helper | helper/ | Kitchen-sink helper crate for Cuprate |
cuprate-test-utils | test-utils/ | Testing utilities for Cuprate |
cuprate-types | types/ | Shared types across Cuprate |