Files
proxmox/docs/archive/STATIC_NODES_FIX.md

78 lines
2.2 KiB
Markdown

# static-nodes.json Fix - Matching permissions-nodes.toml
**Date**: $(date)
**Status**: ✅ **FIX APPLIED** - static-nodes.json now matches permissions-nodes.toml
---
## Critical Issue Found
After replacing validator node keys with validator keys, we updated `permissions-nodes.toml` with the new validator enode URLs, but **`static-nodes.json` still had the OLD validator enode URLs** (from before the key replacement).
### Problem
-`static-nodes.json` had old validator enode URLs (old node keys)
-`permissions-nodes.toml` had new validator enode URLs (new validator keys)
-**Mismatch** - Besu checks that all nodes in `static-nodes.json` are in `permissions-nodes.toml`
### Error Messages
```
Specified node(s) not in nodes-allowlist [enode://...old-enodes...]
```
This prevented services from starting properly!
---
## Fix Applied
### Solution
Updated `static-nodes.json` to use the **same validator enode URLs** that are in `permissions-nodes.toml` (the new validator keys).
### Process
1. Extracted validator enode URLs from `permissions-nodes.toml`
2. Created new `static-nodes.json` with matching validator enodes
3. Deployed to all validators
4. Restarted all services
---
## Important Rule
**With permissioning enabled:**
- **ALL nodes in `static-nodes.json` MUST be in `permissions-nodes.toml`**
- When validator keys change, BOTH files must be updated with matching enode URLs
- `static-nodes.json` should contain **only validator enodes** (for QBFT)
- `permissions-nodes.toml` should contain **all node enodes** (validators + sentries + RPC)
---
## Current State
### static-nodes.json
- Contains 5 validator enode URLs (matching new validator keys)
- Matches validator enodes in permissions-nodes.toml
- Deployed to all 5 validators
### permissions-nodes.toml
- Contains 12 node enode URLs:
- 5 validators (new validator keys)
- 4 sentries
- 3 RPC nodes
- Deployed to all 12 nodes
---
## Verification
After restart:
- ✅ No permissioning errors in logs
- ✅ Services start successfully
- ✅ Nodes can connect to peers
- ✅ Block production should improve
---
**Last Updated**: $(date)
**Status**: ✅ static-nodes.json now matches permissions-nodes.toml