About running-a-base-node
A skill for deploying and operating a Base node with Reth, aimed at production applications that need reliable RPC access. It covers hardware, networking, security, syncing, and checks for sync completion.
Key features
- 01Reth client selection
- 02RPC access security guidance
- 03Hardware and port requirements
- 04Sync and snapshot guidance
- 05Sync status verification
Use cases
- 01Planning hardware for a Base node
- 02Restricting RPC exposure
- 03Accelerating initial sync with snapshots
- 04Checking node readiness before deployment
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ base/ skills --skill running-a-base-nodeAfter installing, type/running-a-base-nodein Claude Code to confirm it loaded.
Details
From the project READMERunning a Base Node
For production apps requiring reliable, unlimited RPC access.
Security
- Restrict RPC access — bind to
127.0.0.1or a private interface, never expose RPC ports (8545/8546) to the public internet without authentication - Firewall rules — only open ports 9222 (Discovery v5) and 30303 (P2P) to the public; block all other inbound traffic
- Run as a non-root user with minimal filesystem permissions
- Use TLS termination (reverse proxy with nginx/caddy) if exposing the RPC endpoint to remote clients
- Monitor for unauthorized access — log and alert on unexpected RPC calls or connection spikes
Hardware Requirements
- CPU: 8-Core minimum
- RAM: 16 GB minimum
- Storage: NVMe SSD, formula:
(2 × chain_size) + snapshot_size + 20% buffer
Networking
Required Ports:
- Port 9222: Critical for Reth Discovery v5
- Port 30303: P2P Discovery & RLPx
If these ports are blocked, the node will have difficulty finding peers and syncing.
Client Selection
Use Reth for Base nodes. Geth Archive Nodes are no longer supported.
Reth provides:
- Better performance for high-throughput L2
- Built-in archive node support
Syncing
- Initial sync takes days
- Consumes significant RPC quota if using external providers
- Use snapshots to accelerate (check Base docs for URLs)
Sync Status
Incomplete sync indicator: Error: nonce has already been used when deploying.
Verify sync:
- Compare latest block with explorer
- Check peer connections
- Monitor logs for progress
Comments
Markdown supported