- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
4.0 KiB
QBFT Transaction Resolution - Complete Solution
Date: $(date)
Status: ✅ TXPOOL AND ADMIN ENABLED - STUCK TRANSACTION IDENTIFIED
🎯 Summary
After enabling TXPOOL and ADMIN RPC methods on the Besu RPC node, we successfully identified the stuck transaction blocking Ethereum Mainnet configuration.
✅ Completed Actions
1. Enabled TXPOOL RPC Methods
- Script:
scripts/enable-txpool-rpc-ssh.sh - Result: ✅ TXPOOL module enabled on RPC node (192.168.11.250)
- Methods Available:
txpool_besuTransactions(working)
2. Enabled ADMIN RPC Methods
- Script:
scripts/enable-admin-rpc-ssh.sh - Result: ✅ ADMIN module enabled on RPC node
- Note:
admin_removeTransactionmethod not available in this Besu version
3. Identified Stuck Transaction
- Hash:
0x359e4e1501d062e32077ca5cb854c46ef7df4b0233431befad1321c0c7a20670 - Nonce: 23
- From:
0x4A666F96fC8764181194447A7dFdb7d471b301C8 - Gas Price: 20 gwei (20,000,000,000 wei)
- Status: Stuck in transaction pool
4. Found Additional Stuck Transactions
- Nonce 24: Gas price 10,000 gwei (extremely high)
- Nonce 74: Future transaction
- Total: 7 transactions in pool
🔍 Key Findings
Transaction Pool Analysis
Using txpool_besuTransactions, we found:
-
7 transactions in the pool
-
3 transactions from deployer address:
- Nonce 23: 20 gwei (stuck - blocking)
- Nonce 24: 10,000 gwei (extremely high)
- Nonce 74: 10 gwei (future transaction)
-
Current on-chain nonce: 23 (matches stuck transaction)
Besu RPC Methods Available
- ✅
txpool_besuTransactions- Returns all transactions in pool - ❌
txpool_content- Not available - ❌
txpool_status- Not available - ❌
txpool_clear- Not available - ❌
admin_removeTransaction- Not available in this Besu version
🔧 Resolution Options
Option 1: Replace Transaction with Higher Gas Price (RECOMMENDED)
Since the stuck transaction has a gas price of 20 gwei, send a replacement with a much higher gas price:
# Use gas price > 10,000 gwei to exceed nonce 24's gas price
cast send <contract> <function> <args> \
--rpc-url http://192.168.11.250:8545 \
--private-key $PRIVATE_KEY \
--gas-price 50000000000000 \ # 50,000 gwei
--nonce 23 \
--gas-limit 200000
Note: Besu requires the replacement gas price to be higher than the existing transaction by the tx-pool-price-bump percentage (default 10%).
Option 2: Restart Besu RPC Node
Restarting the RPC node will clear its local mempool, but the transaction may persist in validator nodes:
# On Proxmox host
pct exec 2500 -- systemctl restart besu-rpc
Option 3: Use Different Deployer Account
Create and fund a new account to bypass the stuck nonce:
# Create new account
cast wallet new
# Fund from existing account
cast send <new-address> --value 10ether \
--rpc-url http://192.168.11.250:8545 \
--private-key $PRIVATE_KEY
Option 4: Wait for Transaction Retention Period
The transaction pool has a retention period (tx-pool-retention-hours, default 6 hours). After this period, invalid transactions should be removed automatically.
📋 Scripts Created
scripts/enable-txpool-rpc-ssh.sh- Enable TXPOOL via SSHscripts/enable-admin-rpc-ssh.sh- Enable ADMIN via SSHscripts/resolve-stuck-transaction-besu-qbft.sh- Comprehensive resolution scriptscripts/remove-stuck-transaction-besu.sh- Remove specific transaction
🎯 Next Steps
- Try replacement transaction with gas price > 50,000 gwei
- If replacement fails, restart all Besu nodes (validators + RPC)
- If still stuck, use a different deployer account
- Monitor transaction pool using
txpool_besuTransactions
📊 Current Status
- ✅ TXPOOL enabled
- ✅ ADMIN enabled
- ✅ Stuck transaction identified (nonce 23)
- ⏳ Waiting for replacement transaction or node restart
Last Updated: $(date)
Resolution: ⏳ IN PROGRESS - REPLACEMENT TRANSACTION PENDING