- 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>
3.9 KiB
Validator Transaction Pool Issue - Diagnosis
Validators Still Producing Empty Blocks After Configuration
Date: 2025-01-27
Status: 🔴 INVESTIGATING
Current Situation
✅ Completed
- ✅ Added layered tx-pool configuration to all 5 validators
- ✅ Restarted all validators
- ✅ All validators are active and running
🔴 Still Blocking
- 🔴 Blocks still empty (0 transactions)
- 🔴 Nonce stuck at 13104
- 🔴 Transactions in mempool not being processed
Possible Root Causes
1. Configuration Not Applied Correctly
Check: Verify tx-pool config is actually in validator config files
Command:
ssh root@192.168.11.10 "pct exec 1003 -- grep -A 3 'tx-pool' /etc/besu/config-validator.toml"
2. Validators Not Connected to RPC
Check: Verify RPC can see validator peers
Command:
cast rpc admin_peers --rpc-url http://192.168.11.211:8545
3. Gas Price Requirements
Issue: Validators may have minimum gas price requirements that transactions don't meet
Check: Verify minimum gas price settings on validators
Possible Fix: Increase gas price in transactions
4. Transaction Pool Not Enabled
Issue: Transaction pool might need to be explicitly enabled
Check: Verify if there are other required settings
5. Network Permissioning
Issue: Account permissioning might be blocking transactions
Check: Verify if account permissioning is enabled and if deployer is allowed
6. Validator Sync Status
Issue: Validators might still be syncing after restart
Check: Monitor validator logs for sync status
Diagnostic Steps
Step 1: Verify Configuration
# Check all validators have tx-pool config
for vmid in 1000 1001 1002 1003 1004; do
echo "=== Validator $vmid ==="
ssh root@192.168.11.10 "pct exec $vmid -- grep -A 3 'tx-pool' /etc/besu/config-validator.toml 2>/dev/null || echo 'NOT FOUND'"
done
Step 2: Check Validator Logs
# Check for errors in validator logs
ssh root@192.168.11.10 "pct exec 1003 -- journalctl -u besu-validator -n 50 --no-pager | grep -i 'error\|warn\|tx\|transaction'"
Step 3: Check Network Connectivity
# Check RPC peer connections
cast rpc admin_peers --rpc-url http://192.168.11.211:8545
# Check validator peer connections
ssh root@192.168.11.10 "pct exec 1003 -- curl -X POST -H 'Content-Type: application/json' --data '{\"jsonrpc\":\"2.0\",\"method\":\"admin_peers\",\"params\":[],\"id\":1}' http://localhost:8545 2>/dev/null | jq"
Step 4: Check Gas Price Settings
# Check if validators have min gas price requirements
ssh root@192.168.11.10 "pct exec 1003 -- grep -i 'gas\|price\|min' /etc/besu/config-validator.toml"
Step 5: Check Account Permissioning
# Check if account permissioning is enabled
ssh root@192.168.11.10 "pct exec 1003 -- grep -i 'permission\|allowlist' /etc/besu/config-validator.toml"
Next Actions
- Verify configuration was applied correctly
- Check validator logs for errors
- Verify network connectivity (RPC ↔ Validators)
- Check gas price requirements
- Check account permissioning settings
- Monitor validator sync status
Additional Considerations
Besu Transaction Pool Behavior
- Layered tx-pool is default in Besu 23.10+
- Configuration may need additional settings beyond basic layered options
- Validators may need explicit transaction pool enablement
Network Architecture
- RPC node may not be forwarding transactions to validators
- Validators may not be receiving transactions from RPC
- Network partition between RPC and validators
Consensus Mechanism
- QBFT consensus may have additional requirements
- Validator selection may affect transaction inclusion
- Block production timing may affect transaction processing
Status: Investigating root cause of empty blocks despite tx-pool configuration.