Files
proxmox/docs/archive/historical/BESU_TRANSACTION_REJECTION_FINDINGS.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- 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.
2026-01-06 01:46:25 -08:00

5.0 KiB

Besu Transaction Rejection - Complete Findings

Date: $(date)
Status: 🔍 ROOT CAUSE IDENTIFIED


🎯 Root Cause

Primary Issue: Stuck Transaction with Extremely High Gas Price

Error: Replacement transaction underpriced (error code -32000)

Finding: A transaction exists in Besu's mempool/internal state with an extremely high gas price that blocks all replacement attempts, even with gas prices up to 5,000 gwei.


📊 Investigation Results

Confirmed

  1. Block Production: Working (2 blocks/3 seconds)
  2. Network Health: Healthy
  3. Transaction Pool: ⚠️ Appears empty (methods not enabled on RPC)
  4. Gas Price Testing: All fail (1 gwei to 5,000 gwei)
  5. Minimum Gas Price: Exists (error -32009: "Gas price below configured minimum")

Blocking Issues

  1. Transaction Pool RPC Methods: Not enabled

    • txpool_status: Method not found
    • txpool_content: Method not found
    • txpool_inspect: Method not found
    • debug_traceTransaction: Method not enabled
  2. Stuck Transaction: Cannot be replaced

    • Gas prices tested: 1 gwei to 5,000 gwei
    • All fail with "Replacement transaction underpriced"
    • Suggests stuck transaction has >5,000 gwei gas price
  3. Nonce Skip Attempt: Transaction sent but timed out

    • Attempted nonce 33 (skipping from 23)
    • Transaction accepted but not confirmed
    • May be processing or may have failed

🔍 Transaction Rejection Reasons (Identified)

1. Gas Price Below Minimum CONFIRMED

  • Error: -32009: Gas price below configured minimum gas price
  • Test: Gas price of 1 wei rejected
  • Implication: Besu has min-gas-price or similar configured

2. Replacement Transaction Underpriced CONFIRMED

  • Error: -32000: Replacement transaction underpriced
  • Test: All gas prices (up to 5,000 gwei) rejected
  • Implication: Stuck transaction has extremely high gas price

3. Pre-Pool Validation LIKELY

  • Evidence: Pool appears empty but errors persist
  • Implication: Transaction rejected before entering pool
  • Possible causes:
    • Validator validation rules
    • Account permissioning
    • Gas price limits
    • Nonce validation

💡 Solutions

Most effective - Clears all mempool state:

# On Besu node (192.168.11.250)
sudo systemctl restart besu-rpc
# OR
docker restart besu-container

After restart:

cd /home/intlc/projects/proxmox
./scripts/resolve-ethereum-mainnet-config.sh

Solution 2: Enable TXPOOL RPC Methods

Add to Besu RPC config (/etc/besu/config-rpc.toml):

rpc-http-api=["ETH","NET","WEB3","TXPOOL","DEBUG"]

Then query and clear:

# Query pool
curl -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"txpool_content","params":[],"id":1}' \
  http://192.168.11.250:8545

# Clear if possible (may require admin RPC)

Solution 3: Check Nonce Skip Transaction

The nonce 33 transaction may have succeeded:

# Check if nonce advanced
cast nonce 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url http://192.168.11.250:8545

# Verify Ethereum Mainnet configuration
cast call 0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
  "destinations(uint64)" \
  5009297550715157269 \
  --rpc-url http://192.168.11.250:8545

Solution 4: Check Besu Logs Directly

On the Besu node, check logs for transaction rejection:

journalctl -u besu-rpc -n 500 | grep -iE "transaction|reject|invalid|gas"

Look for:

  • Transaction validation errors
  • Gas price rejection reasons
  • Account permissioning blocks
  • Nonce validation failures

📋 Configuration Issues Found

Besu Config Issues

  1. rpc-tx-feecap="0x0": Invalid value (should be removed or set properly)
  2. Transaction pool methods not enabled: Cannot query pool state
  3. Minimum gas price: Configured but value unknown
  4. Account permissioning: May be blocking transactions

  1. Immediate: Check if nonce 33 transaction succeeded

    ./scripts/test-bridge-all-7-networks.sh weth9
    
  2. If still blocked: Restart Besu RPC node

    # On 192.168.11.250
    sudo systemctl restart besu-rpc
    
  3. After restart: Configure Ethereum Mainnet

    ./scripts/resolve-ethereum-mainnet-config.sh
    
  4. Long-term: Enable TXPOOL RPC methods for better diagnostics


📝 Key Findings Summary

Finding Status Details
Block Production Working 2 blocks/3 seconds
Transaction Mining Not Working 0 transactions in blocks
Mempool Status ⚠️ Unknown Methods not enabled
Stuck Transaction Confirmed Extremely high gas price
Minimum Gas Price Exists Value unknown
Nonce Skip Attempt Pending Nonce 33 sent, awaiting confirmation

Last Updated: $(date)
Next Step: Check if nonce 33 transaction succeeded, otherwise restart Besu node