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-nodejust build node is a debug build — it wraps the plain cargo build --bin base-reth-node above. Pass --release when you want the optimized binary. That covers local use. The published binary archives are compiled with maxperf instead, a heavier variant of release that Base applies only to release artifacts.
./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