# 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: 1. **`log-destination`** - Removed (logging controlled by `logging` option) 2. **`max-remote-initiated-connections`** - Removed (deprecated in Besu v23.10.0) 3. **`trie-logs-enabled`** - Removed (deprecated) 4. **`accounts-enabled`** - Removed (deprecated) 5. **`database-path`** - Removed (uses `data-path` instead) 6. **`rpc-http-host-allowlist`** - Removed from sentry/RPC configs (deprecated) 7. **`rpc-tx-feecap="0x0"`** - Removed (invalid value - "0x0" cannot be converted to Wei) 8. **`fast-sync-min-peers`** - Removed (incompatible with FULL sync-mode) 9. **`tx-pool-*` options** - Removed (legacy transaction pool options incompatible with layered implementation: `tx-pool-max-size`, `tx-pool-price-bump`, `tx-pool-retention-hours`) 10. **Fixed `permissions-nodes.toml`** - Replaced placeholder IPs (``, etc.) with actual validator IPs (192.168.11.100-104), removed entries for undeployed nodes, and fixed node IDs to exactly 128 hexadecimal characters 11. **Disabled account permissioning for validators** - Changed `permissions-accounts-config-file-enabled=false` since 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: ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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 1. ✅ **Configuration Fixed** - Deprecated options removed 2. ✅ **Services Restarted** - All services restarted with fixed config 3. ⏳ **Monitor Services** - Verify services start successfully 4. ⏳ **Check for Errors** - Ensure no new errors appear 5. ⏳ **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 ``, ``, etc. These were replaced with actual validator IP addresses: - `` → `192.168.11.100` (Validator 1000) - `` → `192.168.11.101` (Validator 1001) - `` → `192.168.11.102` (Validator 1002) - `` → `192.168.11.103` (Validator 1003) - `` → `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-path` option remains (this is correct and replaces `database-path`) - Logging is controlled by the `logging` option (removed `log-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**