Blazing-fast implementation of the Ethereum protocol
This repository contains several Rust crates that implement the different building blocks of an Ethereum node. The high-level structure of the repository is as follows:
crates/
db/
: Strongly typed database bindings to LibMDBX containing read/write access to Ethereum state and historical data (transactions, blocks etc.)executor/
: Blazing-fast instrumented EVM usingrevm
. Used during consensus, syncing & during transaction simulation / gas estimation.interfaces/
: Traits containing common abstractions across the components used in the system. For ease of unit testing, each crate importing the interface is recommended to create mock/in-memory implementations of each trait.net/
primitives/
: Commonly used types in Reth.stages/
: The staged sync pipeline, including implementations of each stage.transaction-pool/
: An in-memory pending transactions pool.
crate-template
: Template crate to use when instantiating new crates undercrates/
.bin/
: Where all binaries are stored.examples/
: Example usage of the reth stack as a library.