929d19c450
* fixed-bytes: add `serde`, document feature flags * fixed-bytes: add derives * rpc: add `as _` syntax to macro * rpc: use `ByteArrayVec` and `ContainerAsBlob` for binary types * fixed-bytes: re-add derives * rpc-types: dedup default value within macro * readme: fixed bytes section * types: custom epee - `BlockCompleteEntry` * types: custom epee - `KeyImageSpentStatus` * types: custom epee - `PoolInfoExtent` * types: add `Status::Other(String)` variant * types: custom epee - `TxEntry`, add `read_epee_field` macro * bin: custom epee - `GetBlocks` * types: add `serde.rs` * misc: make `TxEntry` an `enum`, impl serde * misc: `unimplemented!()` for `TxEntry`'s epee * types: add `BlockCompleteEntry` * rpc: replace `BlockCompleteEntry` with `cuprate-types` * types: document `BlockCompleteEntry` * bin: fix `number_of_fields` for `GetBlocksResponse` * misc: add `Distribution` * distribution: add todo * misc fixes * readme: add `(De)serialization invariants` * distribution: compress variants * types: add `block_complete_entry.rs` * net: fix imports * p2p: fix imports * turn off default-features * p2p: fix imports * misc fixes * Update net/wire/Cargo.toml Co-authored-by: Boog900 <boog900@tutanota.com> * distribution: module doc * wire: re-export types * bin: use enum for `GetBlocksResponse` * misc: use lowercase for stringify * remove duplicated fields for custom epee * types: remove `should_write()` for custom epee * bin: split `GetBlocksResponse` variant fields into structs * misc: split `Distribution` variant fields into structs * small fixes * put all fields in `read_epee_field!` * distribution: (de)compress during epee/serde (de)serialization * distribution: leave (de)compression functions as `todo!()` --------- Co-authored-by: Boog900 <boog900@tutanota.com> |
||
---|---|---|
.github | ||
benches | ||
binaries | ||
books | ||
consensus | ||
cryptonight | ||
helper | ||
misc | ||
net | ||
p2p | ||
pruning | ||
rpc | ||
storage | ||
test-utils | ||
types | ||
zmq | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
deny.toml | ||
LICENSE | ||
LICENSE-AGPL | ||
LICENSE-MIT | ||
README.md | ||
SECURITY.md | ||
typos.toml |
Contents
About
Cuprate is an effort to create an alternative Monero node implementation in Rust.
It will be able to independently validate Monero consensus rules, providing a layer of security and redundancy for the Monero network.
Documentation
Cuprate is currently a work-in-progress; documentation will be changing/unfinished.
Cuprate maintains various documentation books:
Book | Description |
---|---|
Cuprate's architecture book | Documents Cuprate's internal architecture & implementation |
Monero's protocol book | Documents the Monero protocol |
Cuprate's user book | Practical user-guide for using cuprated |
For crate (library) documentation, see: https://doc.cuprate.org. This site holds documentation for Cuprate's crates and all dependencies. All Cuprate crates start with cuprate_
, for example: cuprate_database
.
Contributing
See CONTRIBUTING.md
.
Security
Cuprate has a responsible vulnerability disclosure policy, see SECURITY.md
.
License
The binaries/
directory is licensed under AGPL-3.0, everything else is licensed under MIT.
See LICENSE
for more details.