# Bidirectional Bridge Configuration - Requirements **Date**: 2025-01-18 **Status**: ⚠️ **PREREQUISITES NEEDED** ## Required Prerequisites ### 1. PRIVATE_KEY ✅ Required **Status**: ⚠️ **NOT SET** **Required**: Private key for bridge admin account **Bridge Admin Address** (from deployment verification): ``` 0x4a666f96fc8764181194447a7dfdb7d471b301c8 ``` **To Set**: ```bash # Add to .env file echo "PRIVATE_KEY=0x" >> .env # Or set as environment variable export PRIVATE_KEY=0x ``` **Note**: This private key must correspond to the admin address `0x4a666f96fc8764181194447a7dfdb7d471b301c8` that controls all bridges on both chains. ### 2. RPC Endpoints ✅ Required **Mainnet RPC**: - Default: `https://eth.llamarpc.com` - Or set: `ETHEREUM_MAINNET_RPC=` in `.env` **ChainID 138 RPC**: - Default: `http://192.168.11.211:8545` (VMID 2101) - Or set: `RPC_URL_138=` in `.env` **Status**: ⚠️ **Need verification** - RPCs may need configuration ### 3. ChainID 138 Selector ✅ Available **Status**: ✅ **FOUND** **Value**: `5009297550715157269` (from `networks.json`) **Auto-detection**: Scripts will automatically use this value from `networks.json` --- ## Setup Instructions ### Step 1: Set PRIVATE_KEY ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 # Add PRIVATE_KEY to .env (replace with actual private key) echo "PRIVATE_KEY=0x" >> .env # Verify it's set grep PRIVATE_KEY .env ``` ### Step 2: Verify RPC Endpoints ```bash # Test Mainnet RPC cast chain-id --rpc-url https://eth.llamarpc.com # Test ChainID 138 RPC cast chain-id --rpc-url http://192.168.11.211:8545 ``` ### Step 3: Check Prerequisites ```bash ./scripts/configuration/check-prerequisites.sh ``` This will verify: - PRIVATE_KEY is set - RPC endpoints are accessible - ChainID 138 selector is available - Admin address matches bridge admin ### Step 4: Run Configuration Once prerequisites are met: ```bash ./scripts/configuration/execute-full-bidirectional-config.sh ``` --- ## Admin Address Verification **All bridges use the same admin**: `0x4a666f96fc8764181194447a7dfdb7d471b301c8` **Verify admin on Mainnet**: ```bash cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 "admin()" --rpc-url https://eth.llamarpc.com # Expected: 0x0000000000000000000000004a666f96fc8764181194447a7dfdb7d471b301c8 ``` **Verify admin on ChainID 138**: ```bash cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 "admin()" --rpc-url http://192.168.11.211:8545 # Expected: 0x0000000000000000000000004a666f96fc8764181194447a7dfdb7d471b301c8 ``` --- ## Current Status | Requirement | Status | Action Needed | |-------------|--------|---------------| | PRIVATE_KEY | ⚠️ Not set | Add to .env | | Mainnet RPC | ⚠️ Needs check | Verify accessibility | | ChainID 138 RPC | ⚠️ Needs check | Verify accessibility | | ChainID 138 Selector | ✅ Available | Auto-detected | --- ## Next Steps 1. **Set PRIVATE_KEY** in `.env` for admin address 2. **Verify RPC endpoints** are accessible 3. **Run prerequisites check**: `./scripts/configuration/check-prerequisites.sh` 4. **Execute configuration**: `./scripts/configuration/execute-full-bidirectional-config.sh` --- **Status**: ⚠️ **AWAITING PRIVATE_KEY CONFIGURATION**