Files
proxmox/docs/09-troubleshooting/RPC_2500_TROUBLESHOOTING_SUMMARY.md

3.8 KiB

RPC-01 (VMID 2500) Troubleshooting Summary

Date: $(date)
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)