Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust https://cuprate.org
Find a file
hinto-janai e405786a73
rpc: start cuprate-rpc-types (#147)
* rpc: add `monero-rpc-types`

* lib.rs: add lints

* add base files, deps

* fix macro generation, doc test

* add `strum`, add `misc` module

* document struct generation macro

* add `GetHeight`

* lib.rs: create re-export macro

* macro changes, add few more types

* docs

* `monero-rpc-types` -> `cuprate-rpc-types`

* fix modules

* specify commit in macro, add () type aliases

* macro docs, fixes

* add `Status::Other(String)`

* add TODO for `strum`

* Update rpc/types/Cargo.toml

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

* add `BinaryString`

* add `ResponseBase`

* add `CORE_RPC_*` constants

* fix status; use `CORE_RPC_*` constants

* cargo.toml: add `epee_encoding`

* rpc: add epee_encoding impl for `Status`

* macro: add epee_encoding for every type

* remove `strum`

* add response bases

* add `CORE_RPC_STATUS_UNKNOWN`

* add response/request bases for epee

* create `base` module

* use different type for macro example

* move base / root types around

* docs, status serde test

* status: use `Status::Unknown` for `epee_default_value`

* json: add missing fields to `GetBlockTemplateRequest`

not sure I missed these

cc73fe7116/src/rpc/core_rpc_server_commands_defs.h (L947-L950)

---------

Co-authored-by: Boog900 <boog900@tutanota.com>
2024-06-26 22:24:05 +01:00
.github contributing: expand issue/PR sections, re-format (#186) 2024-06-22 01:33:29 +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 Consensus: fix Rx VM initialization (#190) 2024-06-25 01:55:04 +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 workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
p2p workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
pruning workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
rpc rpc: start cuprate-rpc-types (#147) 2024-06-26 22:24:05 +01:00
storage workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
test-utils workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
types Consensus: use cuprate-types types (#145) 2024-06-04 18:19:35 +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 rpc: start cuprate-rpc-types (#147) 2024-06-26 22:24:05 +01:00
Cargo.toml rpc: start cuprate-rpc-types (#147) 2024-06-26 22:24:05 +01:00
CONTRIBUTING.md contributing: expand issue/PR sections, re-format (#186) 2024-06-22 01:33:29 +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 books: move in protocol book (#169) 2024-06-24 01:23:39 +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 the Documentation section in CONTRIBUTING.md.

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.