Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
179 lines
4.0 KiB
Markdown
179 lines
4.0 KiB
Markdown
# RPC-01 (VMID 2500) Quick Fix Guide
|
|
|
|
**Last Updated:** 2026-01-31
|
|
**Document Version:** 1.0
|
|
**Status:** Active Documentation
|
|
|
|
---
|
|
|
|
**Container**: besu-rpc-1
|
|
**VMID**: 2500
|
|
**IP**: 192.168.11.250
|
|
|
|
---
|
|
|
|
## 🚀 Quick Fix (Automated)
|
|
|
|
Run the automated fix script:
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox
|
|
./scripts/fix-rpc-2500.sh
|
|
```
|
|
|
|
This script will:
|
|
1. ✅ Check container status
|
|
2. ✅ Stop service
|
|
3. ✅ Create/fix configuration file
|
|
4. ✅ Remove deprecated options
|
|
5. ✅ Enable RPC endpoints
|
|
6. ✅ Update service file
|
|
7. ✅ Start service
|
|
8. ✅ Test RPC endpoint
|
|
|
|
---
|
|
|
|
## 🔍 Quick Diagnostic
|
|
|
|
Run the troubleshooting script first to identify issues:
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox
|
|
./scripts/troubleshoot-rpc-2500.sh
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 Common Issues & Quick Fixes
|
|
|
|
### Issue 1: Configuration File Missing
|
|
|
|
**Error**: `Unable to read TOML configuration, file not found`
|
|
|
|
**Quick Fix**:
|
|
```bash
|
|
pct exec 2500 -- bash -c "cat > /etc/besu/config-rpc.toml <<'EOF'
|
|
data-path=\"/data/besu\"
|
|
genesis-file=\"/genesis/genesis.json\"
|
|
network-id=138
|
|
p2p-host=\"0.0.0.0\"
|
|
p2p-port=30303
|
|
miner-enabled=false
|
|
sync-mode=\"FULL\"
|
|
rpc-http-enabled=true
|
|
rpc-http-host=\"0.0.0.0\"
|
|
rpc-http-port=8545
|
|
rpc-http-api=[\"ETH\",\"NET\",\"WEB3\"]
|
|
rpc-http-cors-origins=[\"*\"]
|
|
rpc-ws-enabled=true
|
|
rpc-ws-host=\"0.0.0.0\"
|
|
rpc-ws-port=8546
|
|
rpc-ws-api=[\"ETH\",\"NET\",\"WEB3\"]
|
|
rpc-ws-origins=[\"*\"]
|
|
metrics-enabled=true
|
|
metrics-port=9545
|
|
metrics-host=\"0.0.0.0\"
|
|
logging=\"INFO\"
|
|
permissions-nodes-config-file-enabled=true
|
|
permissions-nodes-config-file=\"/permissions/permissions-nodes.toml\"
|
|
static-nodes-file=\"/genesis/static-nodes.json\"
|
|
discovery-enabled=true
|
|
privacy-enabled=false
|
|
rpc-tx-feecap=\"0x0\"
|
|
max-peers=25
|
|
tx-pool-max-size=8192
|
|
EOF"
|
|
|
|
pct exec 2500 -- chown besu:besu /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- systemctl restart besu-rpc.service
|
|
```
|
|
|
|
---
|
|
|
|
### Issue 2: Deprecated Configuration Options
|
|
|
|
**Error**: `Unknown options in TOML configuration file`
|
|
|
|
**Quick Fix**:
|
|
```bash
|
|
# Remove deprecated options
|
|
pct exec 2500 -- sed -i '/^log-destination/d' /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- sed -i '/^max-remote-initiated-connections/d' /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- sed -i '/^trie-logs-enabled/d' /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- sed -i '/^accounts-enabled/d' /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- sed -i '/^database-path/d' /etc/besu/config-rpc.toml
|
|
pct exec 2500 -- sed -i '/^rpc-http-host-allowlist/d' /etc/besu/config-rpc.toml
|
|
|
|
# Restart service
|
|
pct exec 2500 -- systemctl restart besu-rpc.service
|
|
```
|
|
|
|
---
|
|
|
|
### Issue 3: Service File Wrong Config Path
|
|
|
|
**Error**: Service references wrong config file
|
|
|
|
**Quick Fix**:
|
|
```bash
|
|
# Check what service expects
|
|
pct exec 2500 -- grep "config-file" /etc/systemd/system/besu-rpc.service
|
|
|
|
# Update service file
|
|
pct exec 2500 -- sed -i 's|--config-file=.*|--config-file=/etc/besu/config-rpc.toml|' /etc/systemd/system/besu-rpc.service
|
|
|
|
# Reload systemd
|
|
pct exec 2500 -- systemctl daemon-reload
|
|
|
|
# Restart service
|
|
pct exec 2500 -- systemctl restart besu-rpc.service
|
|
```
|
|
|
|
---
|
|
|
|
### Issue 4: RPC Not Enabled
|
|
|
|
**Quick Fix**:
|
|
```bash
|
|
# Enable RPC HTTP
|
|
pct exec 2500 -- sed -i 's/rpc-http-enabled=false/rpc-http-enabled=true/' /etc/besu/config-rpc.toml
|
|
|
|
# Enable RPC WebSocket
|
|
pct exec 2500 -- sed -i 's/rpc-ws-enabled=false/rpc-ws-enabled=true/' /etc/besu/config-rpc.toml
|
|
|
|
# Restart service
|
|
pct exec 2500 -- systemctl restart besu-rpc.service
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Verification
|
|
|
|
After fixing, verify:
|
|
|
|
```bash
|
|
# Check service status
|
|
pct exec 2500 -- systemctl status besu-rpc.service
|
|
|
|
# Check if ports are listening
|
|
pct exec 2500 -- ss -tlnp | grep -E "8545|8546"
|
|
|
|
# Test RPC endpoint
|
|
pct exec 2500 -- curl -X POST http://localhost:8545 \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
|
```
|
|
|
|
---
|
|
|
|
## 📚 Full Documentation
|
|
|
|
For detailed troubleshooting, see:
|
|
- [RPC 2500 Troubleshooting Guide](RPC_2500_TROUBLESHOOTING.md)
|
|
- [Troubleshooting FAQ](TROUBLESHOOTING_FAQ.md)
|
|
|
|
---
|
|
|
|
**Last Updated**: $(date)
|
|
|