cuprate-hinto-janai/consensus
hinto-janai a438279aa8
storage: split cuprate-blockchain <-> cuprate-database (#160)
* storage: port some code `cuprate-blockchain` -> `database`

* database: remove `Tables` references

* database: remove old `cuprate-blockchain` type references

* find/replace `cuprate_blockchain` -> `database`, add `create_db()`

* database: fix redb

* database: use readme for docs, link in `lib.rs`

* database: fix `open_db_ro`, `open_db_rw`, `create_db` behavior

* database: add open table tests

* database: fix tests, remove blockchain specific references

* database: remove `ReaderThreads`, make `db_directory` mandatory

* initial `cuprate-blockchain` split

* fix doc links

* rename, fix database config

* blockchain: create `crate::open()`, `OpenTables::create_tables()`

* more compat fixes

* fix imports

* fix conflicts

* align cargo.toml

* docs

* fixes

* add `unused_crate_dependencies` lint, fix

* blockchain: add open table tests
2024-06-26 22:51:06 +01:00
..
fast-sync storage: split cuprate-blockchain <-> cuprate-database (#160) 2024-06-26 22:51:06 +01:00
rules workspace: enforce crate/directory naming scheme (#164) 2024-06-24 02:30:47 +01:00
src Consensus: fix Rx VM initialization (#190) 2024-06-25 01:55:04 +01:00
tests Consensus: use cuprate-types types (#145) 2024-06-04 18:19:35 +01:00
Cargo.toml Consensus: use cuprate-types types (#145) 2024-06-04 18:19:35 +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.