Files
proxmox/docs/archive/completion/RPC_TROUBLESHOOTING_COMPLETE.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

222 lines
5.4 KiB
Markdown

# RPC Troubleshooting - Complete Summary
**Date**: $(date)
**Issue**: RPC-01 (VMID 2500) troubleshooting and resolution
---
## 🔍 Issue Identified
RPC-01 (VMID 2500) was experiencing multiple issues preventing proper operation:
1. **Missing Configuration File**: Service expected `/etc/besu/config-rpc.toml` but only `config-rpc-public.toml` existed
2. **Service File Mismatch**: Service file referenced wrong config file name
3. **Database Corruption**: Corrupted `DATABASE_METADATA.json` file preventing startup
4. **Missing Required Files**: Genesis, static-nodes, and permissions files in wrong locations
5. **Database Directory Missing**: `/data/besu/database/` directory did not exist
---
## ✅ Resolution Steps Taken
### 1. Configuration File Fix
**Problem**: Service expected `config-rpc.toml` but only `config-rpc-public.toml` existed
**Solution**:
```bash
pct exec 2500 -- cp /etc/besu/config-rpc-public.toml /etc/besu/config-rpc.toml
pct exec 2500 -- chown besu:besu /etc/besu/config-rpc.toml
```
### 2. Service File Update
**Problem**: Service file referenced `config-rpc-public.toml` instead of `config-rpc.toml`
**Solution**:
```bash
pct exec 2500 -- sed -i 's|config-rpc-public.toml|config-rpc.toml|g' /etc/systemd/system/besu-rpc.service
pct exec 2500 -- systemctl daemon-reload
```
### 3. Database Corruption Fix
**Problem**: Corrupted `DATABASE_METADATA.json` causing startup failures
**Solution**:
```bash
pct exec 2500 -- systemctl stop besu-rpc.service
pct exec 2500 -- rm -f /data/besu/DATABASE_METADATA.json
pct exec 2500 -- rm -rf /data/besu/database/*
```
### 4. Required Files Setup
**Problem**: Genesis, static-nodes, and permissions files in `/etc/besu/` but config expects `/genesis/` and `/permissions/`
**Solution**:
```bash
# Create directories
pct exec 2500 -- mkdir -p /genesis /permissions
# Copy files
pct exec 2500 -- cp /etc/besu/genesis.json /genesis/
pct exec 2500 -- cp /etc/besu/static-nodes.json /genesis/
pct exec 2500 -- cp /etc/besu/permissions-nodes.toml /permissions/
# Set ownership
pct exec 2500 -- chown -R besu:besu /genesis /permissions
```
### 5. Database Directory Creation
**Problem**: Database directory missing
**Solution**:
```bash
pct exec 2500 -- mkdir -p /data/besu/database
pct exec 2500 -- chown -R besu:besu /data/besu
```
### 6. Service Restart
**Solution**:
```bash
pct exec 2500 -- systemctl start besu-rpc.service
```
---
## ✅ Verification Results
### Service Status
- **Status**: ✅ Active (running)
- **Process**: ✅ Besu process running (PID 327821)
- **Uptime**: Stable since restart
### Network Ports
- **8545 (HTTP RPC)**: ✅ Listening
- **8546 (WebSocket RPC)**: ✅ Listening
- **30303 (P2P)**: ✅ Listening
- **9545 (Metrics)**: ✅ Listening
### Network Connectivity
- **RPC Endpoint**: ✅ Responding
- **Chain ID**: ✅ 138 (correct)
- **Block Production**: ✅ Active (syncing blocks)
- **Peers**: ✅ Connected to 5 peers
### Block Sync Status
- **Current Block**: > 11,200 (at time of fix)
- **Sync Status**: ✅ Actively syncing
- **Import Rate**: Processing blocks successfully
---
## 🛠️ Tools Created
### 1. Troubleshooting Script
**File**: `scripts/troubleshoot-rpc-2500.sh`
**Features**:
- Container status check
- Network configuration verification
- Service status check
- Configuration file validation
- Required files check
- Port listening check
- RPC endpoint test
- Process verification
- Error log analysis
### 2. Fix Script
**File**: `scripts/fix-rpc-2500.sh`
**Features**:
- Automated configuration file creation
- Deprecated option removal
- Service file update
- Required files setup
- Service restart
- Verification
### 3. Documentation
**Files Created**:
- `docs/09-troubleshooting/RPC_2500_TROUBLESHOOTING.md` - Complete guide
- `docs/09-troubleshooting/RPC_2500_QUICK_FIX.md` - Quick reference
- `docs/09-troubleshooting/RPC_2500_TROUBLESHOOTING_SUMMARY.md` - Summary
---
## 📋 Configuration Fixes Applied
### Template Updates
**File**: `smom-dbis-138-proxmox/templates/besu-configs/config-rpc.toml`
**Changes**:
- ✅ Removed `log-destination` (deprecated)
- ✅ Removed `max-remote-initiated-connections` (deprecated)
- ✅ Removed `trie-logs-enabled` (deprecated)
- ✅ Removed `accounts-enabled` (deprecated)
- ✅ Removed `database-path` (deprecated)
- ✅ Removed `rpc-http-host-allowlist` (deprecated)
### Installation Script Updates
**File**: `smom-dbis-138-proxmox/install/besu-rpc-install.sh`
**Changes**:
- ✅ Changed service to use `config-rpc.toml` (not `config-rpc-public.toml`)
- ✅ Updated template file name
- ✅ Removed deprecated options from template
- ✅ Fixed file paths (`/genesis/` instead of `/etc/besu/`)
---
## ✅ Current Status
**RPC-01 (VMID 2500)**: ✅ **FULLY OPERATIONAL**
- Service: Active and stable
- Network: Connected and syncing
- RPC: Accessible and responding
- All ports: Listening correctly
---
## 🔄 Next Steps
### Immediate
1. ✅ RPC-01 fixed and operational
2. ⏳ Verify RPC-02 (VMID 2501) status
3. ⏳ Verify RPC-03 (VMID 2502) status
### Short-term
1. Apply same fixes to RPC-02 and RPC-03 if needed
2. Verify all RPC nodes are in sync
3. Test load balancing across RPC nodes
---
## 📚 Related Documentation
- [RPC 2500 Troubleshooting Guide](/docs/09-troubleshooting/RPC_2500_TROUBLESHOOTING.md)
- [RPC 2500 Quick Fix](/docs/09-troubleshooting/RPC_2500_QUICK_FIX.md)
- [Deployment Readiness](../../03-deployment/DEPLOYMENT_READINESS.md)
---
**Resolution Date**: $(date)
**Status**: ✅ **RESOLVED**