Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust
Find a file
hinto-janai ecbb5ad3dc
rpc: implement /json_rpc types (#219)
* `serde/epee` feature flags

* modify type generator macros

* add `defaults.rs`

* add `free.rs`

* add `misc` module

* modify `base.rs`, `contants.rs`

* remove `binary_string.rs`, `status.rs`

* fix macro usage

* impl `json.rs`

* base: re-add `AccessRequestBase`

* fix default functions

* tx_entry: fix link

* json: fix default functions

* json: fix `on_get_block_hash`, `submit_block`

* json: `status` -> `block_id`

* json: fix `SubmitBlockRequest`

* json: fix `OnGetBlockHashResponse`

The serialized `result` field will come from our `json-rpc` crate,
so the inner type should be a `transparent` string.

* json: `Response` -> `ResponseBase` for `SubmitBlock`

* Update rpc/types/src/json.rs

Co-authored-by: Boog900 <boog900@tutanota.com>

* json: fix `SubmitBlockRequest` doc test

---------

Co-authored-by: Boog900 <boog900@tutanota.com>
2024-07-10 21:12:40 +01:00
.github ci: fix doc.yml (#213) 2024-07-04 15:52:51 +01:00
benches repo: add skeleton directories, fix labels (#139) 2024-05-29 02:18:30 +01:00
binaries repo: add skeleton directories, fix labels (#139) 2024-05-29 02:18:30 +01:00
books books: move in protocol book (#169) 2024-06-24 01:23:39 +01:00
consensus storage: split cuprate-blockchain <-> cuprate-database (#160) 2024-06-26 22:51:06 +01:00
cryptonight workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
helper repo: add skeleton directories, fix labels (#139) 2024-05-29 02:18:30 +01:00
misc [Misc] Updating SyntheticBird's GPG Key (#122) 2024-04-30 20:09:53 +01:00
net P2P: API Improvements (#168) 2024-07-04 21:05:22 +01:00
p2p P2P: API Improvements (#168) 2024-07-04 21:05:22 +01:00
pruning workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
rpc rpc: implement /json_rpc types (#219) 2024-07-10 21:12:40 +01:00
storage Storage: fix lifetimes (#215) 2024-07-06 13:21:46 +01:00
test-utils workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
types ci: fix doc.yml (#213) 2024-07-04 15:52:51 +01:00
zmq repo: add skeleton directories, fix labels (#139) 2024-05-29 02:18:30 +01:00
.gitignore books: add skeleton and docs (#141) 2024-05-30 01:19:46 +01:00
Cargo.lock build(deps): bump zerovec from 0.10.2 to 0.10.4 (#217) 2024-07-09 23:03:13 +01:00
Cargo.toml workspace: add lints (#133) 2024-07-10 01:32:23 +01:00
CONTRIBUTING.md ci: add doc.yml (#203) 2024-07-03 22:38:47 +01:00
deny.toml Fix clippy & Cargo update (#161) 2024-06-13 19:08:34 +01:00
LICENSE books: add skeleton and docs (#141) 2024-05-30 01:19:46 +01:00
LICENSE-AGPL License correction for github (#10) 2023-03-20 21:35:20 +01:00
LICENSE-MIT repo: update license (#134) 2024-05-27 00:39:32 +01:00
README.md ci: add doc.yml (#203) 2024-07-03 22:38:47 +01:00
SECURITY.md docs: update README.md & SECURITY.md (#143) 2024-06-14 18:33:43 +01:00
typos.toml database: impl service::{Request,Response} mappings (#101) 2024-04-16 23:05:38 +01:00

An alternative Monero node implementation.

(work-in-progress)

Matrix CI

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.