base-reth-node
base-reth-node runs the Base L2 execution client. It extends the standard Reth OP node with five extensions covering Flashblocks streaming, transaction pool RPC, resource metering, and proofs history retention.
Package
Section titled “Package”- Crate name:
base-reth-node - Source:
bin/node - Dockerfile:
etc/docker/Dockerfile.client
Extensions
Section titled “Extensions”The node binary installs five extensions on top of the standard Reth OP node:
| Extension | Crate | Purpose |
|---|---|---|
TxPoolRpcExtension | base-txpool-rpc | Exposes custom transaction pool RPC methods |
TxPoolExtension | base-txpool-tracing | Adds transaction pool tracing and diagnostics |
MeteringExtension | base-metering | Resource metering RPC for gas accounting |
FlashblocksExtension | base-flashblocks | Flashblocks streaming provider over WebSocket |
ProofsHistoryExtension | base-proofs-history | Retains trie proofs for the fault proof window |
These extensions are registered via Reth’s NodeComponents system. Each one hooks into the node lifecycle to provide additional RPC methods or background services.
Key Dependencies
Section titled “Key Dependencies”reth-optimism-node— Base Reth node builderreth-optimism-cli— CLI framework with jemalloc and OTelbase-flashblocks— Flashblocks RPC providerbase-metering— Resource metering RPCbase-txpool-rpc— Transaction pool RPC extensionsbase-txpool-tracing— Transaction pool tracingbase-proofs-history— Proofs history extensionbase-cli-utils— CLI utilities (logging, metrics)
# Build just this binaryjust build-node
# Or using cargo directlycargo build --bin base-reth-node
# Release buildcargo build --release --bin base-reth-node
# Max performance build (PGO + LTO)just build-maxperf./target/release/base-reth-node node \ --chain base \ --datadir /data/base \ --http \ --http.api eth,net,web3,debug,txpool \ --ws \ --ws.api eth,net,web3View all available options:
./target/release/base-reth-node --helpDocker
Section titled “Docker”# Build the imagedocker build -t base-reth-node -f etc/docker/Dockerfile.client .
# Rundocker run -it --rm \ -v /data/base:/data \ -p 8545:8545 \ -p 8546:8546 \ base-reth-node node --chain base --datadir /data