Files
proxmox/docs/06-besu/NETWORK_RECOVERED_BUT_TX_ISSUE.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- 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>
2026-02-12 15:46:57 -08:00

210 lines
5.6 KiB
Markdown

# Network Recovered - Transaction Propagation Issue
**Last Updated:** 2026-01-31
**Document Version:** 1.0
**Status:** Active Documentation
---
**Date**: 2026-01-24 01:35 PST
**Status**: ⚠️ **PARTIAL SUCCESS - Blocks Producing, Transactions Not Confirming**
---
## ✅ What Was Fixed
### 1. Found All Validators
**Problem**: Thought we only had 2 validators
**Reality**: All 5 validators exist and are running!
| VMID | IP | Host | Status |
|------|----|----|--------|
| 1000 | 192.168.11.100 | r630-01 | ✅ Running |
| 1001 | 192.168.11.101 | r630-01 | ✅ Running |
| 1002 | 192.168.11.102 | r630-01 | ✅ Running |
| 1003 | 192.168.11.103 | ml110 | ✅ Running |
| 1004 | 192.168.11.104 | ml110 | ✅ Running |
### 2. Enabled Mining on All Validators
**Problem**: `miner-enabled=false` on all validators
**Solution**: Set `miner-enabled=true` on all 5 validators
**Result**: ✅ Block production resumed!
### 3. Network Statistics
- **Current block**: 1,301,181+ (and counting)
- **Block time**: ~2 seconds
- **Consensus**: QBFT with 5 validators
- **Quorum**: 4/5 required, all 5 active
- **Peers**: 14 connected
---
## ⚠️ Remaining Issue: Empty Blocks
### Problem
- ✅ Blocks ARE producing (network recovered)
- ❌ Blocks are EMPTY (0 transactions)
- ❌ Transactions stuck in RPC mempool
- ❌ Validators not selecting transactions
### Symptoms
```json
{
"number": "0x13dac9", // Block 1,301,193
"transactions": 0, // EMPTY!
"gasUsed": "0x0" // No gas used
}
```
### Root Cause Analysis
1. **RPC has transactions** in mempool (stuck at nonces 13104-13115)
2. **Validators have correct TX-pool config** (layered, with proper capacity)
3. **Transactions not propagating** from RPC to validators
4. **Or validators not accepting** transactions from mempool
---
## 🔍 Diagnostic Results
### Validator Configuration ✅
```toml
# TX-Pool Configuration (CORRECT)
tx-pool-max-future-by-sender=200
tx-pool-layer-max-capacity=12500000
tx-pool-max-prioritized=2000
# Mining Configuration (CORRECT)
miner-enabled=true
# Sync Configuration (CORRECT)
sync-mode="FAST"
```
### Network Topology ✅
- **Static nodes**: Configured correctly
- **Permissioned nodes**: All 5 validators listed
- **Peer connections**: 14 peers connected
- **P2P network**: Functioning
### What's NOT Working ❌
- Transaction propagation RPC → Validators
- Transaction selection by validators
- Transaction confirmation
---
## 🎯 Possible Causes
### 1. RPC Not Propagating to Validators
- RPC nodes may not be connected to validators
- Transactions stay in RPC mempool only
- Need to verify RPC peering
### 2. Validator Transaction Acceptance
- Validators may have additional filters
- Min gas price mismatch
- Transaction pool limits
### 3. Permissions/ACL Issues
- accounts-allowlist might be blocking
- Transaction validation rules
- Smart contract permissions
---
## 🔧 Next Steps to Fix
### Option 1: Send Transaction Directly to Validator
Instead of using RPC at 192.168.11.211, send directly to a validator:
```bash
# Try sending to validator 1003 at 192.168.11.103
export PRIVATE_KEY=0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
cast send 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 "deposit()" \
--value 1000000000000000 \
--private-key $PRIVATE_KEY \
--rpc-url http://192.168.11.103:8545 \
--gas-limit 50000 \
--gas-price 1000000000 \
--nonce 13116
```
### Option 2: Enable RPC on Validators
Check if validators have RPC enabled:
```bash
ssh root@192.168.11.10 "pct exec 1003 -- grep 'rpc-http-enabled' /etc/besu/config-validator.toml"
```
If `rpc-http-enabled=false`, enable it and send transactions directly.
### Option 3: Clear RPC Transaction Database
Force clear stuck transactions from RPC:
```bash
# Stop RPC nodes
# Clear transaction pool database
# Restart RPC nodes
# Resend transaction with next nonce
```
---
## 📊 Current Status Summary
| Component | Status | Details |
|-----------|--------|---------|
| **Validators** | ✅ Running | All 5 active |
| **Mining** | ✅ Enabled | All validators |
| **Block Production** | ✅ Working | ~2s block time |
| **Network Quorum** | ✅ Met | 5/5 validators |
| **TX-Pool Config** | ✅ Correct | Layered settings |
| **Transaction Confirmation** | ❌ Not working | Empty blocks |
| **Bridge Execution** | ❌ Blocked | Can't confirm txs |
---
## 💡 Key Insights
### What We Learned
1. **All 5 validators exist** - they're split across 2 Proxmox hosts
2. **Mining was disabled** - this was the main blocker
3. **Network can recover** - blocks producing again
4. **Transaction propagation** - separate issue from consensus
### Why Bridge Still Can't Execute
- Network is operational ✅
- Bridge contracts deployed ✅
- Validators working ✅
- But transactions can't confirm ❌
---
## 🚀 Immediate Next Action
**Try sending transaction directly to a validator node instead of through RPC:**
```bash
cd /home/intlc/projects/proxmox
export PRIVATE_KEY=0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
# Try validator 1003 which we know is running
cast send 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 "deposit()" \
--value 1000000000000000 \
--private-key $PRIVATE_KEY \
--rpc-url http://192.168.11.103:8545 \
--gas-limit 50000 \
--gas-price 1000000000 \
--nonce 13116
```
If validator doesn't have RPC enabled, we need to:
1. Enable RPC on one validator temporarily
2. Or fix the RPC→Validator transaction propagation
---
**Status**: Network operational, investigating transaction confirmation issue
**Progress**: 90% complete - just need transactions to confirm
**Blocker**: Transaction propagation RPC→Validators
**Last Updated**: 2026-01-24 01:35 PST