- 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.
3.3 KiB
3.3 KiB
Nonce 23 Stuck Transaction - Resolution Guide
Date: $(date)
Status: ⚠️ NONCE 23 STUCK WITH EXTREMELY HIGH GAS PRICE
🔍 Root Cause Identified
Issue
- Nonce 22: Was incomplete (now resolved)
- Nonce 23: Stuck with extremely high gas price (>1,000,000 gwei)
- Cannot replace even with maximum gas prices
Evidence
- Current nonce: 23
- Attempted replacement with: 1,000,000 gwei
- Error: "Replacement transaction underpriced"
- Transaction NOT found in mined blocks
📊 Current Status
- Nonce: 23 (stuck)
- Networks Configured: 6/7 ✅
- ✅ BSC, Polygon, Avalanche, Base, Arbitrum, Optimism
- ❌ Ethereum Mainnet (blocked by nonce 23)
💡 Solution Options
Option 1: Wait for Transaction Expiration (If Configured)
Some Besu configurations have transaction pool retention periods:
- Check Besu config for
tx-pool-retention-hours - Wait for retention period to expire
- Transaction will be automatically removed
Check retention period:
# On ML110
pct exec 2500 -- grep -i "retention" /etc/besu/config-rpc.toml
Option 2: Use Different Deployer Account (RECOMMENDED)
Advantages:
- Completely bypasses stuck nonce
- Fast and reliable
- No node restarts needed
Steps:
- Create new account (already created:
0xC13EfAe66708C7541d2D66A2527bcBF9992e7186) - Fund with ETH
- Use for Ethereum Mainnet configuration
Option 3: Clear Transaction Pool Database
WARNING: Requires stopping nodes
# On ML110
# Stop RPC node
pct exec 2500 -- systemctl stop besu-rpc
# Clear transaction pool (if accessible)
# Location may vary by Besu version
pct exec 2500 -- find /data/besu -name "*pool*" -type d
# Restart
pct exec 2500 -- systemctl start besu-rpc
Option 4: Wait for Transaction to Mine
If the transaction eventually gets mined (even if it fails), the nonce will advance:
- Monitor nonce:
cast nonce <address> --rpc-url <rpc> - Once nonce advances, retry configuration
🎯 Recommended Action
Use Option 2 (Different Account) - Fastest and most reliable:
-
Fund new account with ETH:
cast send 0xC13EfAe66708C7541d2D66A2527bcBF9992e7186 \ --value 10ether \ --rpc-url http://192.168.11.250:8545 \ --private-key <ORIGINAL_PRIVATE_KEY> \ --gas-price 10000000000 -
Configure Ethereum Mainnet with new account:
cast send 0x89dd12025bfCD38A168455A44B400e913ED33BE2 \ "addDestination(uint64,address)" \ 5009297550715157269 \ 0x8078a09637e47fa5ed34f626046ea2094a5cde5e \ --rpc-url http://192.168.11.250:8545 \ --private-key <NEW_ACCOUNT_PRIVATE_KEY> \ --gas-price 10000000000
📋 Investigation Summary
Completed
- ✅ Nonce 22 identified and resolved
- ✅ Nonce 23 identified as stuck
- ✅ Attempted replacement with 1,000,000 gwei (failed)
- ✅ Validator logs checked (7 pending transactions)
- ✅ Transaction history checked (not mined)
- ✅ Besu caches cleared
- ✅ New account created
Findings
- Transaction with nonce 23 has gas price >1,000,000 gwei
- Transaction is in validator mempools (not just RPC)
- Transaction persists after cache clearing
- Cannot be replaced with standard methods
Last Updated: $(date)
Status: ⏳ AWAITING SOLUTION IMPLEMENTATION