Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust
Find a file
hinto-janai 92800810d9
cuprated: initial RPC module skeleton (#262)
* readme

* cuprated: add all workspace deps

* cuprated: add lints

* !!

* add state, fn signatures

* fixes

* error signatures

* interface: handle json-rpc concepts

* split rpc calls into 3 `Service`s

* interface: extract out to `RpcService`

* fix merge

* remove crate lints

* use `BoxFuture`

* rpc/interface: impl `thiserror::Error`

* split state from main handler struct

* cleanup

* fix imports

* replace `RpcError` with `anyhow::Error`

* interface: update error

* cuprated: update error type
2024-09-08 15:52:17 +01:00
.github ci: fix book CI (#252) 2024-08-09 20:44:53 +01:00
benches repo: add skeleton directories, fix labels (#139) 2024-05-29 02:18:30 +01:00
binaries cuprated: initial RPC module skeleton (#262) 2024-09-08 15:52:17 +01:00
books books: change some definitions (#251) 2024-08-09 00:56:41 +01:00
consensus workspace: add naming convention lints (#261) 2024-09-02 18:10:45 +01:00
cryptonight workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
helper helper: fix clippy (#265) 2024-09-02 22:46:11 +01:00
misc Update Zed in ENVIRONMENT-ADVICE.md (#259) 2024-08-22 00:33:21 +01:00
net workspace: add naming convention lints (#261) 2024-09-02 18:10:45 +01:00
p2p dandelion-tower: improve API (#257) 2024-08-22 01:18:44 +01:00
pruning update monero-serai (#201) 2024-08-07 00:48:53 +01:00
rpc cuprated: initial RPC module skeleton (#262) 2024-09-08 15:52:17 +01:00
storage lints: opt in manual lint crates (#263) 2024-09-02 18:12:54 +01:00
test-utils Replace OnceLock + fn with LazyLock (#256) 2024-08-20 22:53:32 +01:00
types lints: opt in manual lint crates (#263) 2024-09-02 18:12:54 +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 cuprated: initial RPC module skeleton (#262) 2024-09-08 15:52:17 +01:00
Cargo.toml cuprated: initial RPC module skeleton (#262) 2024-09-08 15:52:17 +01:00
clippy.toml workspace: add naming convention lints (#261) 2024-09-02 18:10:45 +01:00
CONTRIBUTING.md ci: add doc.yml (#203) 2024-07-03 22:38:47 +01:00
deny.toml Binaries: add cuprated skeleton (#258) 2024-08-20 23:56:18 +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 rpc: add JSON doc-tests (#232) 2024-07-28 21:43:16 +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.