Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust
Find a file
Boog900 7b8756fa80
Some checks failed
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
cuprated: P2P protocol request handler (#303)
* add cuprated skeleton

* fmt and add deny exception

* add main chain batch handler

* add blockchain init

* very rough block manager

* misc changes

* move more config values

* add new tables & types

* add function to fully add an alt block

* resolve current todo!s

* add new requests

* WIP: starting re-orgs

* add last service request

* commit Cargo.lock

* add test

* more docs + cleanup + alt blocks request

* clippy + fmt

* document types

* move tx_fee to helper

* more doc updates

* fmt

* fix imports

* remove config files

* fix merge errors

* fix generated coins

* handle more p2p requests + alt blocks

* clean up handler code

* add function for incoming blocks

* add docs to handler functions

* broadcast new blocks + add commands

* add fluffy block handler

* fix new block handling

* small cleanup

* increase outbound peer count

* fix merge

* clean up the blockchain manger

* add more docs + cleanup imports

* fix typo

* fix doc

* remove unrelated changes

* add `get_objects` handler

* add `get_chain` handler

* add `fluffy_missing_txs` handler

* add `new_fluffy_block` handler

* improve interface globals

* manger -> manager

* enums instead of bools

* move chain service to separate file

* more review fixes

* sort imports + docs

* init dandelion integration

* add dandelion start function

* finish incoming tx handler

* Add tx blob hash table

* Add missing txpool requests

* handle duplicate stem txs

* check txpool on incoming block

* add request to remove tx in new blocks from the pool

* tell the txpool about incoming blocks

* fix merge

* typos

* remove blockchain height from txpool

* fix merge

* fix merge

* handle incoming txs in p2p request handler

* Allow `IncomingTxHandler` to be given later

* add p2p clearnet init

* fix build

* misc changes

* doc updates

* more doc updates

* sort imports

* review changes

* Result -> DbResult

* use `NonZero`

* review fixes

* remove `rust-2024-compatibility` lint
2024-12-03 20:21:05 +00:00
.github Fix ci and loosen version requirements (#335) 2024-11-04 15:22:43 +00:00
benches workspace: add/fix 1.83 lints (#353) 2024-11-28 19:53:59 +00:00
binaries cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
books benches: initial implementation (#196) 2024-11-25 20:10:42 +00:00
consensus workspace: add/fix 1.83 lints (#353) 2024-11-28 19:53:59 +00:00
constants storage: Add common amounts commitment lookup table (#323) 2024-10-24 22:10:33 +01:00
cryptonight Fix #346 (#347) 2024-11-21 22:32:48 +00:00
helper cuprated: config & args (#304) 2024-12-03 15:17:21 +00:00
misc Update Zed in ENVIRONMENT-ADVICE.md (#259) 2024-08-22 00:33:21 +01:00
net cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
p2p cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
pruning workspace: add/fix 1.83 lints (#353) 2024-11-28 19:53:59 +00:00
rpc workspace: add/fix 1.83 lints (#353) 2024-11-28 19:53:59 +00:00
storage cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
test-utils workspace: add/fix 1.83 lints (#353) 2024-11-28 19:53:59 +00:00
types cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
zmq ZMQ PUB/SUB JSON Types (#330) 2024-11-21 01:08:24 +00:00
.gitignore books: add skeleton and docs (#141) 2024-05-30 01:19:46 +01:00
Cargo.lock cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
Cargo.toml cuprated: P2P protocol request handler (#303) 2024-12-03 20:21:05 +00:00
clippy.toml workspace: add naming convention lints (#261) 2024-09-02 18:10:45 +01:00
CONTRIBUTING.md CI: add cargo hack (#170) 2024-11-01 20:22:14 +00:00
deny.toml Fix ci and loosen version requirements (#335) 2024-11-04 15:22:43 +00: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.