cuprate/consensus
Boog900 1a178381dd
Storage: split the DB service abstraction (#237)
* split the DB service abstraction

* fix ci

* misc changes

* Apply suggestions from code review

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* review fixes

* Update storage/service/Cargo.toml

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* Update storage/service/Cargo.toml

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* fix clippy

* fix doc

* `bc` -> `blockchain`

* doc fixes

* Update storage/service/README.md

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* cargo fmt

---------

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-08-05 21:47:30 +01:00
..
fast-sync Storage: split the DB service abstraction (#237) 2024-08-05 21:47:30 +01:00
rules Consensus: add alt-chain handling (#214) 2024-07-29 01:13:08 +01:00
src Storage: split the DB service abstraction (#237) 2024-08-05 21:47:30 +01:00
tests Storage: split the DB service abstraction (#237) 2024-08-05 21:47:30 +01:00
Cargo.toml Consensus: add alt-chain handling (#214) 2024-07-29 01:13:08 +01:00
README.md Cleanup & Document consensus (#65) 2024-05-31 01:52:12 +01:00

Consensus Rules

This folder contains 2 crates:

  • cuprate-consensus-rules (rules/ directory)
  • cuprate-consensus

cuprate-consensus-rules contains the raw-rules and is built to be a more flexible library which requires the user to give the correct data and do minimal calculations.

cuprate-consensus on the other hand contains multiple tower::Services that handle transaction/block verification as a whole with a context service that keeps track of blockchain state. cuprate-consensus uses cuprate-consensus-rules internally.

If you are looking to use Monero consensus rules it's recommended you try to integrate cuprate-consensus and fall back to cuprate-consensus-rules if you need more flexibility.