6.4 KiB
Configuration Files Fixed
Date: $(date)
Action: Removed deprecated configuration options from all Besu config files
Issue
All Besu services were failing with errors:
Unknown options in TOML configuration file: log-destination, max-remote-initiated-connections, trie-logs-enabled, accounts-enabled, database-path
These deprecated options caused services to exit immediately and restart in loops.
Fix Applied
Deprecated/Invalid Options Removed
The following deprecated and invalid options were removed from all configuration files:
log-destination- Removed (logging controlled byloggingoption)max-remote-initiated-connections- Removed (deprecated in Besu v23.10.0)trie-logs-enabled- Removed (deprecated)accounts-enabled- Removed (deprecated)database-path- Removed (usesdata-pathinstead)rpc-http-host-allowlist- Removed from sentry/RPC configs (deprecated)rpc-tx-feecap="0x0"- Removed (invalid value - "0x0" cannot be converted to Wei)fast-sync-min-peers- Removed (incompatible with FULL sync-mode)tx-pool-*options - Removed (legacy transaction pool options incompatible with layered implementation:tx-pool-max-size,tx-pool-price-bump,tx-pool-retention-hours)- Fixed
permissions-nodes.toml- Replaced placeholder IPs (<node-1-ip>, etc.) with actual validator IPs (192.168.11.100-104), removed entries for undeployed nodes, and fixed node IDs to exactly 128 hexadecimal characters - Disabled account permissioning for validators - Changed
permissions-accounts-config-file-enabled=falsesince the permissions-accounts.toml file doesn't exist
Files Fixed
Validators (1000-1004)
- ✅ Fixed
/etc/besu/config-validator.toml(5 files) - Removed:
log-destination,max-remote-initiated-connections,trie-logs-enabled,accounts-enabled,database-path,rpc-tx-feecap,fast-sync-min-peers,tx-pool-max-size,tx-pool-price-bump
Sentries (1500-1503)
- ✅ Fixed
/etc/besu/config-sentry.toml(4 files) - Removed:
log-destination,max-remote-initiated-connections,trie-logs-enabled,accounts-enabled,database-path,rpc-http-host-allowlist,rpc-tx-feecap,fast-sync-min-peers,tx-pool-max-size,tx-pool-price-bump,tx-pool-retention-hours
RPC Nodes (2500-2502)
- ✅ Fixed
/etc/besu/config-rpc-public.toml(3 files) - Removed:
log-destination,max-remote-initiated-connections,trie-logs-enabled,accounts-enabled,database-path,rpc-http-host-allowlist,rpc-tx-feecap,fast-sync-min-peers,tx-pool-max-size,tx-pool-price-bump,tx-pool-retention-hours
Method Used
Used sed to remove deprecated option lines from config files:
# Validators - remove deprecated/invalid/incompatible options
sed -i '/^log-destination=/d; /^max-remote-initiated-connections=/d; /^trie-logs-enabled=/d; /^accounts-enabled=/d; /^database-path=/d; /^rpc-tx-feecap=/d; /^fast-sync-min-peers=/d; /^tx-pool-/d' /etc/besu/config-validator.toml
# Sentries and RPC - remove deprecated/invalid/incompatible options
sed -i '/^log-destination=/d; /^max-remote-initiated-connections=/d; /^trie-logs-enabled=/d; /^accounts-enabled=/d; /^database-path=/d; /^rpc-http-host-allowlist=/d; /^rpc-tx-feecap=/d; /^fast-sync-min-peers=/d; /^tx-pool-/d' /etc/besu/config-sentry.toml
Services Restarted
All services were restarted after fixing configuration files:
- ✅ Validators: 5/5 restarted
- ✅ Sentries: 4/4 restarted
- ✅ RPC Nodes: 3/3 restarted
Expected Results
After this fix:
- ✅ Services should start without configuration errors
- ✅ No more "Unknown options" errors
- ✅ Services should stay running (no restart loops)
- ✅ Besu processes should remain active
- ✅ Block processing should begin once services are stable
Verification
Check for Configuration Errors
# Check logs for "Unknown options" errors (should be zero)
for vmid in 1000 1001 1002 1003 1004; do
errors=$(pct exec $vmid -- journalctl -u besu-validator.service --since '1 minute ago' --no-pager 2>/dev/null | grep -i 'Unknown options' | wc -l)
echo "VMID $vmid: $errors config errors"
done
Check Service Status
# All services should show "active" or "activating" (not restarting)
for vmid in 1000 1001 1002 1003 1004 1500 1501 1502 1503 2500 2501 2502; do
if [[ $vmid -lt 1500 ]]; then
service="besu-validator"
elif [[ $vmid -lt 2500 ]]; then
service="besu-sentry"
else
service="besu-rpc"
fi
echo "VMID $vmid: $(pct exec $vmid -- systemctl is-active $service.service)"
done
Check for Successful Startup
# Look for successful startup messages (not just errors)
for vmid in 1000 1001 1002; do
echo "=== VMID $vmid ==="
pct exec $vmid -- journalctl -u besu-validator.service --since '2 minutes ago' --no-pager 2>/dev/null | grep -vE 'systemd|Unknown options' | tail -15
done
Next Steps
- ✅ Configuration Fixed - Deprecated options removed
- ✅ Services Restarted - All services restarted with fixed config
- ⏳ Monitor Services - Verify services start successfully
- ⏳ Check for Errors - Ensure no new errors appear
- ⏳ Verify Block Processing - Check if blocks are being processed once services are stable
Additional Fixes
permissions-nodes.toml Fix
The permissions-nodes.toml file contained placeholder IP addresses like <node-1-ip>, <node-2-ip>, etc. These were replaced with actual validator IP addresses:
<node-1-ip>→192.168.11.100(Validator 1000)<node-2-ip>→192.168.11.101(Validator 1001)<node-3-ip>→192.168.11.102(Validator 1002)<node-4-ip>→192.168.11.103(Validator 1003)<node-5-ip>→192.168.11.104(Validator 1004)
Entries with remaining placeholder IPs (for undeployed nodes) were removed to prevent configuration errors. These can be added back when those nodes are deployed.
Notes
- The
data-pathoption remains (this is correct and replacesdatabase-path) - Logging is controlled by the
loggingoption (removedlog-destination) - Network settings remain unchanged
- All other valid options remain in config files
- Only validator nodes (1000-1004) are included in permissions-nodes.toml for now
Fix Applied: $(date)
Status: ✅ CONFIGURATION FILES FIXED - SERVICES RESTARTED