Files
proxmox/docs/09-troubleshooting/RPC_2500_TROUBLESHOOTING_SUMMARY.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

3.9 KiB

RPC-01 (VMID 2500) Troubleshooting Summary

Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation

Container: besu-rpc-1
VMID: 2500
IP: 192.168.11.250


🛠️ Tools Created

1. Automated Troubleshooting Script

File: scripts/troubleshoot-rpc-2500.sh

What it does:

  • Checks container status
  • Verifies network configuration
  • Checks service status
  • Validates configuration files
  • Tests RPC endpoints
  • Identifies common issues

Usage:

cd /home/intlc/projects/proxmox
./scripts/troubleshoot-rpc-2500.sh

2. Automated Fix Script

File: scripts/fix-rpc-2500.sh

What it does:

  • Creates missing config file
  • Removes deprecated options
  • Enables RPC endpoints
  • Updates service file
  • Starts service
  • Tests RPC endpoint

Usage:

cd /home/intlc/projects/proxmox
./scripts/fix-rpc-2500.sh

🔍 Common Issues Identified

Issue 1: Missing Configuration File

Status: ⚠️ Common
Error: Unable to read TOML configuration, file not found

Root Cause: Service expects /etc/besu/config-rpc.toml but only template exists

Fix: Script creates config from template or creates minimal valid config


Issue 2: Deprecated Configuration Options

Status: ⚠️ Common
Error: Unknown options in TOML configuration file

Deprecated Options (removed):

  • log-destination
  • max-remote-initiated-connections
  • trie-logs-enabled
  • accounts-enabled
  • database-path
  • rpc-http-host-allowlist

Fix: Script automatically removes these options


Issue 3: Service File Mismatch

Status: ⚠️ Possible
Error: Service references wrong config file name

Issue: Service may reference config-rpc-public.toml instead of config-rpc.toml

Fix: Script updates service file to use correct config path


Issue 4: RPC Not Enabled

Status: ⚠️ Possible
Error: Service runs but RPC endpoint not accessible

Fix: Script ensures rpc-http-enabled=true and rpc-ws-enabled=true


📋 Configuration Fixes Applied

Template Updates

File: smom-dbis-138-proxmox/templates/besu-configs/config-rpc.toml

  • Removed log-destination
  • Removed max-remote-initiated-connections
  • Removed trie-logs-enabled
  • Removed accounts-enabled
  • Removed database-path
  • Removed rpc-http-host-allowlist

Installation Script Updates

File: smom-dbis-138-proxmox/install/besu-rpc-install.sh

  • 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/)

🚀 Quick Start

Step 1: Run Diagnostic

cd /home/intlc/projects/proxmox
./scripts/troubleshoot-rpc-2500.sh

Step 2: Apply Fix

./scripts/fix-rpc-2500.sh

Step 3: Verify

# Check service
pct exec 2500 -- systemctl status besu-rpc.service

# Test RPC
curl -X POST http://192.168.11.250:8545 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

📚 Documentation


Expected Configuration

After fix, the service should have:

Config File: /etc/besu/config-rpc.toml

  • RPC HTTP enabled on port 8545
  • RPC WS enabled on port 8546
  • Metrics enabled on port 9545
  • P2P enabled on port 30303
  • No deprecated options

Service Status: active (running)

Ports Listening:

  • 8545 (HTTP RPC)
  • 8546 (WebSocket RPC)
  • 30303 (P2P)
  • 9545 (Metrics)

RPC Response: Should return block number when queried


Last Updated: $(date)