Files
explorer-monorepo/docs/NEXT_STEPS_EXECUTION_GUIDE.md

318 lines
6.7 KiB
Markdown
Raw Permalink Normal View History

# Next Steps Execution Guide
**Date**: 2025-01-12
**Status**: Ready for Execution
---
## Overview
This guide provides step-by-step instructions for executing the remaining runtime tasks to complete the CCIP setup.
---
## Current Status
### ✅ Completed
- All verification scripts created
- All documentation created
- System health checks available
- Configuration scripts ready
### ⏳ Pending (Critical Blockers)
1. **Bridge Destination Configuration** (Tasks 3, 50, 51)
- Status: 0/7 destinations configured for both bridges
- Blocker: Requires private key and transaction execution
2. **Stuck Transaction Resolution** (Task 4)
- Status: Transaction may be stuck in mempool
- Action: Resolve before configuring destinations
3. **Fee Calculation Fix** (Task 61)
- Status: Fee calculation not accessible
- Action: Debug and fix
---
## Step-by-Step Execution
### Step 1: Resolve Stuck Transaction (Task 4)
**If you have a stuck transaction:**
```bash
# Check transaction status
./scripts/resolve-stuck-transaction.sh <address> <nonce>
# Options:
# 1. Wait for timeout (1-2 hours)
# 2. Replace with higher gas price
# 3. Use different account
```
**If no stuck transaction:**
- Proceed to Step 2
---
### Step 2: Configure Bridge Destinations (Tasks 3, 50, 51)
#### Option A: Configure Ethereum Mainnet Only
```bash
# Configure Ethereum Mainnet for both bridges
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
```
#### Option B: Configure All Destinations
```bash
# Configure all 7 destinations (including Ethereum Mainnet)
./scripts/configure-all-bridge-destinations.sh <private_key> \
0x2A0840e5117683b11682ac46f5CF5621E67269E3 \
0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
```
**Verify Configuration:**
```bash
./scripts/check-bridge-config.sh
```
**Expected Result:**
- All 7 destinations configured for WETH9 Bridge
- All 7 destinations configured for WETH10 Bridge
---
### Step 3: Verify Configuration (Tasks 107, 108)
```bash
# Comprehensive verification
./scripts/verify-complete-ccip-setup.sh
# Health check
./scripts/ccip-health-check.sh
# Generate status report
./scripts/generate-ccip-status-report.sh
```
---
### Step 4: Start CCIP Monitor Service (Task 83)
**On Proxmox Host:**
```bash
# Start container
pct start 3501
# Start service
pct exec 3501 -- systemctl start ccip-monitor
# Enable on boot
pct exec 3501 -- systemctl enable ccip-monitor
# Verify
./scripts/check-ccip-monitor-health.sh
```
**Verify Service:**
```bash
# Check status
pct exec 3501 -- systemctl status ccip-monitor
# Check metrics
curl http://localhost:8000/metrics
# Check logs
pct exec 3501 -- journalctl -u ccip-monitor -n 50
```
---
### Step 5: Test Bridge Operations (Tasks 115, 116)
#### Pre-flight Check
```bash
# Run end-to-end test (dry run)
./scripts/test-end-to-end-bridge.sh 0.001
```
#### Execute Test Bridge
```bash
# Bridge small amount to Ethereum Mainnet
./scripts/wrap-and-bridge-to-ethereum.sh 0.001
```
**Verify on Destination:**
- Check Ethereum Mainnet for received tokens
- Verify message execution
- Confirm token amount
---
### Step 6: Fix Fee Calculation (Task 61)
**Debug Fee Calculation:**
```bash
# Test fee calculation
./scripts/verify-fee-calculation.sh 0.001 5009297550715157269
# Check Router functions
cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e "getFeeToken()" --rpc-url http://192.168.11.250:8545
```
**If Fee Calculation Fails:**
1. Check Router contract ABI
2. Verify function signatures
3. Check LINK token availability
4. Update scripts as needed
---
### Step 7: Verify Token Pool Configuration (Tasks 19-21, 28-29)
```bash
# Find TokenAdminRegistry
./scripts/verify-token-admin-registry.sh
# If pool addresses found, verify pools
./scripts/verify-token-pool-config.sh <pool_address>
```
**Note**: Pool addresses may need to be retrieved from:
- Deployment transactions
- Contract storage
- Chainlink documentation
---
## Additional Tasks
### Oracle Network Deployment (Tasks 72-76)
**Only if CCIP message processing is needed:**
1. **Deploy Commit Oracle Nodes** (16 nodes, VMIDs 5410-5425)
2. **Deploy Execute Oracle Nodes** (16 nodes, VMIDs 5440-5455)
3. **Deploy RMN Nodes** (5-7 nodes, VMIDs 5470-5474 or 5470-5476)
4. **Deploy Ops/Admin Nodes** (2 nodes, VMIDs 5400-5401)
5. **Deploy Monitoring Nodes** (2 nodes, VMIDs 5402-5403)
**Note**: This is a major deployment task. Only proceed if oracle network is required for CCIP message processing.
---
### Message Indexing Implementation (Tasks 91-93)
**If message tracking is needed:**
1. Complete implementation in `backend/ccip/tracking/tracker.go`
2. Index MessageSent events from source chain
3. Index MessageExecuted events from destination chains
4. Link events by messageId
---
## Verification Checklist
After completing steps above, verify:
- [ ] All bridge destinations configured (7/7)
- [ ] CCIP Monitor service running
- [ ] Fee calculation working
- [ ] Bridge operations tested successfully
- [ ] Token pool configuration verified
- [ ] System health checks passing
**Run comprehensive verification:**
```bash
./scripts/verify-complete-ccip-setup.sh
```
---
## Troubleshooting
### Bridge Configuration Fails
**Issue**: Transaction fails or gets stuck
**Solutions**:
1. Check nonce: `cast nonce <address> --rpc-url <rpc_url>`
2. Increase gas price
3. Wait for previous transactions to clear
4. Use different account
### Fee Calculation Fails
**Issue**: Cannot calculate fees
**Solutions**:
1. Verify Router contract address
2. Check function availability
3. Verify LINK token configuration
4. Check RPC connectivity
### CCIP Monitor Not Starting
**Issue**: Service fails to start
**Solutions**:
1. Check container status: `pct status 3501`
2. Check service logs: `pct exec 3501 -- journalctl -u ccip-monitor -n 50`
3. Verify configuration: `/opt/ccip-monitor/.env`
4. Check RPC connectivity from container
---
## Quick Reference
### Essential Commands
```bash
# Health check
./scripts/ccip-health-check.sh
# Bridge configuration
./scripts/check-bridge-config.sh
# Configure Ethereum Mainnet
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
# Comprehensive verification
./scripts/verify-complete-ccip-setup.sh
# Generate status report
./scripts/generate-ccip-status-report.sh
```
### Documentation
- **Operations**: `docs/CCIP_OPERATIONS_RUNBOOK.md`
- **Best Practices**: `docs/CCIP_BEST_PRACTICES.md`
- **Security**: `docs/CCIP_SECURITY_BEST_PRACTICES.md`
- **Verification**: `docs/CCIP_VERIFICATION_CHECKLIST.md`
---
## Success Criteria
System is fully operational when:
1. ✅ All 7 bridge destinations configured
2. ✅ CCIP Monitor service running
3. ✅ Bridge operations tested successfully
4. ✅ Fee calculation working
5. ✅ All health checks passing
6. ✅ End-to-end bridge flow verified
---
**Last Updated**: 2025-01-12