# 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

