78 lines
2.2 KiB
Markdown
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
|
|
|