MCPcopy Index your code
hub / github.com/Cuprate/cuprate

github.com/Cuprate/cuprate @cuprated-0.0.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release cuprated-0.0.9 ↗ · + Follow
2,161 symbols 5,446 edges 346 files 878 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/Cuprate/cuprate/raw/cuprated-0.0.9/misc/logo/wordmark/CuprateWordmark.svg" width="50%"/>

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 is able to independently validate Monero consensus rules, providing a layer of security and redundancy for the Monero network.

See https://user.cuprate.org for more details.

Books

Cuprate is currently a work-in-progress; documentation will be changing/unfinished.

Cuprate maintains various documentation books:

Book Description
Monero's protocol book Documents the Monero protocol
Cuprate's user book Practical user-guide for using cuprated

Build

To build Cuprate from source code, see https://user.cuprate.org/getting-started/source.html.

Crates

For a detailed list of all crates, see: https://architecture.cuprate.org/appendix/crates.html.

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.

Extension points exported contracts — how you extend this code

EpeeValue (Interface)
A trait for epee values. All [`EpeeObject`] objects automatically implement [`EpeeValue`]. [24 implementers]
net/epee-encoding/src/value.rs
NetworkZone (Interface)
An abstraction over a network zone (tor/i2p/clear) [4 implementers]
p2p/p2p-core/src/lib.rs
RpcCallValue (Interface)
---------------------------------------------------------------------------------------------------- RpcCallValue By-val [4 …
rpc/types/src/rpc_call.rs
LevinBody (Interface)
A levin body [2 implementers]
net/levin/src/lib.rs
RpcHandler (Interface)
---------------------------------------------------------------------------------------------------- RpcHandler An RPC h [2 …
rpc/interface/src/rpc_handler.rs
BatchVerifier (Interface)
This trait represents a batch verifier. A batch verifier is used to speed up verification by verifying multiple transac [2 …
consensus/rules/src/batch_verifier.rs
BorshNetworkZone (Interface)
An internal trait for the address book for a [`NetworkZone`] that adds the requirement of [`borsh`] traits onto the netw [1 …
p2p/address-book/src/lib.rs
Bucketable (Interface)
A discriminant that can be computed from the type. [1 implementers]
p2p/bucket/src/lib.rs

Core symbols most depended-on inside this repo

tc
called by 321
cryptonight/src/blake256.rs
clone
called by 258
p2p/p2p/src/broadcast.rs
default
called by 192
rpc/types/src/defaults.rs
len
called by 181
p2p/bucket/src/lib.rs
ready
called by 171
p2p/async-buffer/src/lib.rs
push
called by 83
p2p/bucket/src/lib.rs
usize_to_u64
called by 70
helper/src/cast.rs
as_ref
called by 68
types/hex/src/vec.rs

Shape

Function 907
Method 756
Class 343
Enum 126
Interface 29

Languages

Rust100%

Modules by API surface

rpc/types/src/json.rs54 symbols
rpc/types/src/other.rs45 symbols
binaries/cuprated/src/rpc/handlers/json_rpc.rs42 symbols
storage/blockchain/src/service/read.rs36 symbols
binaries/cuprated/src/rpc/handlers/other_json.rs32 symbols
cryptonight/src/slow_hash.rs29 symbols
binaries/cuprated/src/rpc/service/blockchain.rs29 symbols
consensus/rules/src/transactions.rs28 symbols
zmq/types/src/json_message_types.rs27 symbols
rpc/json-rpc/src/response.rs26 symbols
net/epee-encoding/src/lib.rs26 symbols
types/types/src/json/tx.rs24 symbols

For agents

$ claude mcp add cuprate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page