Running the Node
The base-reth-node binary starts the Base L2 execution client once you have a source build or Docker image. For production guidance, see Node Operations.
Starting the Node
Section titled “Starting the Node”Run the binary directly from the build output directory:
./target/release/base-reth-nodeOr, if you used just build-node:
./target/release/base-reth-nodeThe node will begin syncing from the network. On the first run it creates a data directory (by default ~/.local/share/reth/ on Linux, ~/Library/Application Support/reth/ on macOS) and starts downloading blocks.
CLI Help
Section titled “CLI Help”View all available options and subcommands:
./target/release/base-reth-node --helpThis prints the full help text including every flag, option, and subcommand. It is the definitive reference for the CLI and is always in sync with the version you built.
Common Options
Section titled “Common Options”Data Directory
Section titled “Data Directory”Override the default data directory:
./target/release/base-reth-node --datadir /mnt/ssd/base-nodeHTTP JSON-RPC
Section titled “HTTP JSON-RPC”Enable the HTTP JSON-RPC server:
./target/release/base-reth-node \ --http \ --http.addr 127.0.0.1 \ --http.port 8545By default the server only listens on localhost. Set --http.addr 0.0.0.0 to accept connections from other machines (make sure your firewall is configured appropriately).
WebSocket JSON-RPC
Section titled “WebSocket JSON-RPC”Enable the WebSocket server alongside (or instead of) HTTP:
./target/release/base-reth-node \ --ws \ --ws.addr 127.0.0.1 \ --ws.port 8546Logging
Section titled “Logging”Control log verbosity with the -v flag (can be repeated) or the RUST_LOG environment variable:
# Increase verbosity./target/release/base-reth-node -vvv
# Fine-grained control via RUST_LOGRUST_LOG=info,reth=debug ./target/release/base-reth-nodeMetrics
Section titled “Metrics”Enable the Prometheus metrics endpoint:
./target/release/base-reth-node \ --metrics 127.0.0.1:9001Point your Prometheus instance at http://<host>:9001/metrics to scrape node metrics.
Example: Full Node with RPC
Section titled “Example: Full Node with RPC”A typical invocation that enables both HTTP and WebSocket RPC, metrics, and stores data on a dedicated volume:
./target/release/base-reth-node \ --datadir /data/base-node \ --http \ --http.addr 0.0.0.0 \ --http.port 8545 \ --ws \ --ws.addr 0.0.0.0 \ --ws.port 8546 \ --metrics 0.0.0.0:9001 \ -vvStopping the Node
Section titled “Stopping the Node”Send SIGINT (Ctrl+C) or SIGTERM to gracefully shut down the node. It will flush pending state to disk before exiting. Avoid sending SIGKILL unless absolutely necessary, as it can leave the database in an inconsistent state requiring a repair on next startup.
Next Steps
Section titled “Next Steps”- Development Workflow — learn the day-to-day check, test, and fix commands.
- Local Devnet — spin up a full local network for integration testing.
- Configuration — detailed configuration reference for production deployments.