From ad26b604591e79405564fdc87bf6ba603b022189 Mon Sep 17 00:00:00 2001 From: Contributor Date: Mon, 30 Mar 2026 23:38:36 +0300 Subject: [PATCH] docs: add practical node operation guide Add comprehensive guide addressing common operator concerns: - Storage requirements by node type (Archive vs Full) - Realistic sync time estimates - Storage performance comparisons (SSD vs HDD) - Sync options with pros/cons - Snap sync status - Alternatives for individual operators - Monitoring commands - Troubleshooting tips Addresses concerns raised in #990 about realistic expectations for individual node operators. --- README.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1cbaad17d..6513ce034 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Base is a secure, low-cost, developer-friendly Ethereum L2 built on Optimism's [ - Modern Multicore CPU - 32GB RAM (64GB Recommended) - NVMe SSD drive -- Storage: (2 \* [current chain size](https://base.org/stats) + [snapshot size](https://basechaindata.vercel.app) + 20% buffer) (to accommodate future growth) +- Storage: (2 * [current chain size](https://base.org/stats) + [snapshot size](https://basechaindata.vercel.app) + 20% buffer) (to accommodate future growth) - Docker and Docker Compose ### Production Hardware Specifications @@ -79,6 +79,73 @@ Supported clients: - geth - nethermind +## Practical Node Operation Guide + +### Storage Requirements by Node Type + +| Node Type | Snapshot Size | Sync Time | Use Case | +|-----------|--------------|-----------|----------| +| Archive | ~8TB | Immediate | Full historical state, debugging | +| Full (pruned) | ~1.8TB | 20-30 days | Standard RPC, recent state only | + +**Important:** Archive nodes require significant storage investment (~$1000+ for SSD). Full nodes with pruned snapshots must re-execute from genesis, which takes 20-30+ days depending on hardware. + +### Storage Performance + +- **NVMe SSD (Required):** 500+ blocks/min sync speed +- **HDD (Not Recommended):** ~1.8 blocks/min (277x slower) + +HDDs cannot keep up with the chain (1 block every 2 seconds) and are unsuitable for running a Base node. + +### Sync Options + +1. **Archive Snapshot** - Download pre-synced archive data + - Pros: Immediate use, full historical state + - Cons: Large download (~8TB), expensive storage + +2. **Pruned Snapshot + Execution** - Download pruned data, execute from genesis + - Pros: Smaller initial download (~1.8TB) + - Cons: 20-30+ day sync time, speed degrades as state grows + +3. **Genesis Sync** - Sync from block 0 without snapshot + - Pros: No large download + - Cons: Longest sync time, highest resource usage + +### Snap Sync Status + +Snap sync is currently disabled for OP Stack chains. Follow [Enable snap sync #132](https://github.com/base/node/issues/132) for updates. + +### Alternatives for Individual Operators + +If full node operation is not feasible: + +- **Base Public RPC:** Free, rate-limited access for development +- **Paid RPC Providers:** Various providers offer Base RPC endpoints +- **Light Clients:** For verification without full state (when available) + +### Monitoring Your Node + +Monitor sync progress and health: + +```bash +# Check sync status +docker logs base-node-1 | grep -i sync + +# Check peer connections +docker logs base-node-1 | grep -i peer +``` + +### Troubleshooting + +**Slow sync after 80%+:** +This is normal. State execution slows significantly as the state trie grows. Expect 1/8 reduction in sync speed from initial rates. + +**Out of disk space:** +Ensure you have 20% buffer above current requirements. Chain data grows continuously. + +**Connection issues:** +Verify L1 RPC endpoints are accessible and have sufficient rate limits. + ## Configuration ### Required Settings