cuprate/consensus
hinto-janai aeb070ae8d
Replace OnceLock + fn with LazyLock (#256)
* `consensus/`

* `helper/`

* `test-utils/`

* `storage/`

* fix docs + tests + lints

* decomposed_amount: remove `LazyLock`

* clippy
2024-08-20 22:53:32 +01:00
..
fast-sync Consensus: move more types to types (#250) 2024-08-09 00:56:13 +01:00
rules Replace OnceLock + fn with LazyLock (#256) 2024-08-20 22:53:32 +01:00
src Consensus: move more types to types (#250) 2024-08-09 00:56:13 +01:00
tests Storage: split the DB service abstraction (#237) 2024-08-05 21:47:30 +01:00
Cargo.toml update monero-serai (#201) 2024-08-07 00:48:53 +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.