179 lines
4.4 KiB
Markdown
179 lines
4.4 KiB
Markdown
|
|
# Bridge Quick Start Guide - ChainID 138 to Ethereum Mainnet
|
||
|
|
|
||
|
|
**Date**: 2026-01-24
|
||
|
|
**Status**: ✅ **READY TO BRIDGE** (using nonce bypass method)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 TL;DR - What You Need to Do
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/intlc/projects/proxmox
|
||
|
|
export PRIVATE_KEY="0xYourPrivateKeyHere"
|
||
|
|
./scripts/test-bridge-with-fresh-nonce.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Then follow the commands it provides to execute the bridge.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✅ What's Already Done
|
||
|
|
|
||
|
|
| Component | Status |
|
||
|
|
|-----------|--------|
|
||
|
|
| Bridge contracts deployed | ✅ Complete |
|
||
|
|
| Validators configured correctly | ✅ Complete |
|
||
|
|
| Network operational | ✅ Complete |
|
||
|
|
| Destination chains configured | ✅ Complete |
|
||
|
|
| Account has funds (999M+ ETH) | ✅ Complete |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ⚠️ Known Issue: Stuck Transactions
|
||
|
|
|
||
|
|
**Problem**: Nonce stuck at 13104 in RPC mempool
|
||
|
|
**Solution**: Bypass stuck transactions by using the correct nonce
|
||
|
|
**Impact**: None - we can work around this
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 Bridge Now (3 Simple Steps)
|
||
|
|
|
||
|
|
### Step 1: Run Test Script
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/intlc/projects/proxmox
|
||
|
|
export PRIVATE_KEY="0xYourPrivateKeyHere"
|
||
|
|
./scripts/test-bridge-with-fresh-nonce.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
**What it does**:
|
||
|
|
- Wraps ETH to WETH9 (if needed)
|
||
|
|
- Approves bridge contract (if needed)
|
||
|
|
- Tells you the exact command to execute the bridge
|
||
|
|
|
||
|
|
### Step 2: Execute Bridge Command
|
||
|
|
|
||
|
|
The script will output something like:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cast send 0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
|
||
|
|
'sendCrossChain(uint64,address,uint256)' \
|
||
|
|
5009297550715157269 \
|
||
|
|
0x4A666F96fC8764181194447A7dFdb7d471b301C8 \
|
||
|
|
1000000000000000 \
|
||
|
|
--private-key $PRIVATE_KEY \
|
||
|
|
--rpc-url http://192.168.11.211:8545 \
|
||
|
|
--gas-limit 200000 \
|
||
|
|
--gas-price 1000000000 \
|
||
|
|
--nonce 13104
|
||
|
|
```
|
||
|
|
|
||
|
|
Copy and run it.
|
||
|
|
|
||
|
|
### Step 3: Wait for CCIP
|
||
|
|
|
||
|
|
- **Time**: 1-5 minutes
|
||
|
|
- **Monitor**: Use the transaction hash to track progress
|
||
|
|
- **Result**: WETH9 appears on Ethereum Mainnet
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 Key Addresses
|
||
|
|
|
||
|
|
### ChainID 138
|
||
|
|
- **WETH9**: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`
|
||
|
|
- **Bridge**: `0x89dd12025bfCD38A168455A44B400e913ED33BE2`
|
||
|
|
- **RPC**: `http://192.168.11.211:8545`
|
||
|
|
|
||
|
|
### Ethereum Mainnet
|
||
|
|
- **Bridge**: `0x2A0840e5117683b11682ac46f5CF5621E67269E3`
|
||
|
|
- **Selector**: `5009297550715157269`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔍 Troubleshooting
|
||
|
|
|
||
|
|
### "Nonce too low"
|
||
|
|
Run the test script again - it will find the correct nonce.
|
||
|
|
|
||
|
|
### "Insufficient allowance"
|
||
|
|
The test script will approve automatically. Just run it.
|
||
|
|
|
||
|
|
### "Account balance too low"
|
||
|
|
Your account has 999M+ ETH. This shouldn't happen.
|
||
|
|
|
||
|
|
### Transaction not confirming
|
||
|
|
Check if validators are still running:
|
||
|
|
```bash
|
||
|
|
ssh root@192.168.11.10 "pct exec 1003 -- systemctl status besu-validator"
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📝 What Was Fixed
|
||
|
|
|
||
|
|
### Validator Configuration ✅
|
||
|
|
- **Issue**: Validators had no TX-pool configuration
|
||
|
|
- **Fix**: Added layered TX-pool settings to both validators
|
||
|
|
- **Config**:
|
||
|
|
```toml
|
||
|
|
tx-pool-max-future-by-sender=200
|
||
|
|
tx-pool-layer-max-capacity=12500000
|
||
|
|
tx-pool-max-prioritized=2000
|
||
|
|
```
|
||
|
|
- **Status**: Complete
|
||
|
|
|
||
|
|
### Stuck Transactions ⚠️
|
||
|
|
- **Issue**: Old transactions stuck at nonce 13104
|
||
|
|
- **Attempted**: Restarted 7 RPC nodes
|
||
|
|
- **Result**: RPC at 192.168.11.211 still has stuck transactions
|
||
|
|
- **Workaround**: Bypass by using correct nonce (automated in script)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 💡 Why This Works
|
||
|
|
|
||
|
|
1. **Validators are configured correctly** - They can process transactions
|
||
|
|
2. **Network is operational** - Blocks are being produced
|
||
|
|
3. **Stuck transactions are not on-chain** - They're only in RPC mempool
|
||
|
|
4. **We can bypass them** - By using the next available nonce
|
||
|
|
5. **New transactions will process** - Validators will include them in blocks
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 Success Indicators
|
||
|
|
|
||
|
|
After running the bridge:
|
||
|
|
|
||
|
|
1. ✅ Transaction hash returned
|
||
|
|
2. ✅ Transaction confirms on ChainID 138
|
||
|
|
3. ✅ CCIP processes the message (1-5 min)
|
||
|
|
4. ✅ WETH9 appears on Ethereum Mainnet
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📚 More Information
|
||
|
|
|
||
|
|
- **Full Status**: `docs/06-besu/VALIDATOR_TXPOOL_FIX_STATUS.md`
|
||
|
|
- **Bridge Docs**: `docs/archive/root-status-reports/BRIDGE_READY_TO_USE.md`
|
||
|
|
- **Test Script**: `scripts/test-bridge-with-fresh-nonce.sh`
|
||
|
|
- **Skip Nonce Tool**: `scripts/skip-stuck-transactions.sh`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✨ Summary
|
||
|
|
|
||
|
|
**Validator TX-Pool Issue**: ✅ **FIXED**
|
||
|
|
**Bridge Infrastructure**: ✅ **READY**
|
||
|
|
**Stuck Transactions**: ⚠️ **WORKED AROUND**
|
||
|
|
**Bridge Status**: ✅ **CAN EXECUTE NOW**
|
||
|
|
|
||
|
|
**Just run the test script and follow its instructions!**
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Last Updated**: 2026-01-24
|
||
|
|
**Author**: AI Agent
|
||
|
|
**Status**: Ready for production bridge testing
|