mirror of
https://github.com/Cuprate/cuprate.git
synced 2024-12-22 19:49:28 +00:00
Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust
https://cuprate.org
cryptocurrencymoneromonero-integrationsmonerodnetworknetwork-programmingpeer-to-peerrustrust-langsecurity
ad7b750d76
* add `cuprate-types` * remove `cuprate_database::service::{request,response}` * use `cuprate_types::service::{request,response}` * service: fix `Request` `match`'s * service: create `ReadRequest` function mappings * service: create `WriteRequest` function mappings * service: add rough `WriteRequest` retry loop * service: handle `RuntimeError::ResizeNeeded` in writer * add `{R,r}o` exception to typos * docs * env: make `resize_map()` return new memory map byte size * write: proactively handle resizes `add_block()` takes `VerifiedBlockInformation` such that it can just take the inner blobs of data. This is a problem when reactively resizing since we no longer have the block struct we just gave away so we're forced to `.clone()` each retry. Instead of that - we will proactively resize so the resize error will never occur in the first place. * read: use type aliases * docs * fix import * write: handle resizes reactively * service: panic if response can't be sent back * write: add loop unreachable asserts * service: print and drop error instead of panic * write: fix retry loop off-by-1 * write: fix docs * review changes * update readme * remove `BlockBatchInRange` request/response * Update database/README.md Co-authored-by: Boog900 <boog900@tutanota.com> --------- Co-authored-by: Boog900 <boog900@tutanota.com> |
||
---|---|---|
.github/workflows | ||
consensus | ||
cryptonight | ||
database | ||
helper | ||
misc | ||
net | ||
old_database | ||
p2p | ||
pruning | ||
test-utils | ||
types | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
deny.toml | ||
LICENSE-AGPL | ||
LICENSE.md | ||
README.md | ||
SECURITY.md | ||
typos.toml |
An up and coming Rust Monero node.
Cuprate will be an alternative Monero node written from the ground up in Rust. It will be able to independently validate Monero consensus rules providing a layer of security and redundancy for the Monero network.
Cuprate will help to protect the network from implementation bugs that could cause a variety of issues, plus because it's written in a memory safe language Cuprate will be less likely to suffer from memory safety issues compared to monerod.