Modularize beacon node backend (#4718)

#4669


  Modularize the beacon node backend to make it easier to add new database implementations
This commit is contained in:
Eitan Seri-Levi
2025-01-23 09:12:16 +07:00
committed by GitHub
parent 266b241123
commit a1b7d616b4
38 changed files with 1479 additions and 650 deletions

View File

@@ -154,7 +154,7 @@ You can customise the features that Lighthouse is built with using the `FEATURES
variable. E.g.
```
FEATURES=gnosis,slasher-lmdb make
FEATURES=gnosis,slasher-lmdb,beacon-node-leveldb make
```
Commonly used features include:
@@ -163,11 +163,12 @@ Commonly used features include:
- `portable`: the default feature as Lighthouse now uses runtime detection of hardware CPU features.
- `slasher-lmdb`: support for the LMDB slasher backend. Enabled by default.
- `slasher-mdbx`: support for the MDBX slasher backend.
- `beacon-node-leveldb`: support for the leveldb backend. Enabled by default.
- `jemalloc`: use [`jemalloc`][jemalloc] to allocate memory. Enabled by default on Linux and macOS.
Not supported on Windows.
- `spec-minimal`: support for the minimal preset (useful for testing).
Default features (e.g. `slasher-lmdb`) may be opted out of using the `--no-default-features`
Default features (e.g. `slasher-lmdb`, `beacon-node-leveldb`) may be opted out of using the `--no-default-features`
argument for `cargo`, which can be plumbed in via the `CARGO_INSTALL_EXTRA_FLAGS` environment variable.
E.g.