# Chain 138 Deployment Readiness Checklist **Last Updated:** 2026-01-31 **Document Version:** 1.0 **Status:** Active Documentation --- **Date**: $(date) **Purpose**: Verify all prerequisites are met before deploying smart contracts --- ## ✅ Network Readiness ### RPC Endpoints - [x] **RPC-01 (VMID 2500)**: ✅ Operational - IP: 192.168.11.250 - HTTP RPC: Port 8545 ✅ Listening - WebSocket RPC: Port 8546 ✅ Listening - P2P: Port 30303 ✅ Listening - Metrics: Port 9545 ✅ Listening - Status: Active, syncing blocks - [ ] **RPC-02 (VMID 2501)**: ⏳ Check status - [ ] **RPC-03 (VMID 2502)**: ⏳ Check status ### Network Connectivity - [x] RPC endpoint responds to `eth_blockNumber` - [x] RPC endpoint responds to `eth_chainId` - [x] Chain ID verified: 138 - [x] Network producing blocks (block number > 0) ### Validator Network - [ ] All validators (1000-1004) operational - [ ] Network consensus active - [ ] Block production stable --- ## ✅ Configuration Readiness ### Deployment Scripts - [x] **Deployment script updated**: `deploy-contracts-once-ready.sh` - IP address updated: `10.3.1.4:8545` → `192.168.11.250:8545` - Location: `/home/intlc/projects/smom-dbis-138/scripts/deployment/` - [x] **Installation scripts updated**: All service install scripts - Oracle Publisher: ✅ Updated - CCIP Monitor: ✅ Updated - Keeper: ✅ Updated - Financial Tokenization: ✅ Updated - Firefly: ✅ Updated - Cacti: ✅ Updated - Blockscout: ✅ Updated ### Configuration Templates - [x] **Besu RPC config template**: ✅ Updated - Deprecated options removed - File: `templates/besu-configs/config-rpc.toml` - [x] **Service installation script**: ✅ Updated - Config file name corrected - File: `install/besu-rpc-install.sh` --- ## ⏳ Deployment Prerequisites ### Environment Setup - [ ] **Source project `.env` file configured** - Location: `/home/intlc/projects/smom-dbis-138/.env` - Required variables: - `RPC_URL_138=http://192.168.11.250:8545` - `PRIVATE_KEY=` - `RESERVE_ADMIN=` - `KEEPER_ADDRESS=` - `ORACLE_PRICE_FEED=` (after Oracle deployment) ### Deployer Account - [ ] **Deployer account has sufficient balance** - Check balance: `cast balance --rpc-url http://192.168.11.250:8545` - Minimum recommended: 1 ETH equivalent ### Network Verification - [x] **Network is producing blocks** - Verified: ✅ Yes - Current block: > 11,200 (as of troubleshooting) - [x] **Chain ID correct** - Expected: 138 - Verified: ✅ Yes --- ## 📋 Contract Deployment Order ### Phase 1: Core Infrastructure (Priority 1) 1. [ ] **Oracle Contract** - Script: `DeployOracle.s.sol` - Dependencies: None - Required for: Keeper, Price Feeds 2. [ ] **CCIP Router** - Script: `DeployCCIPRouter.s.sol` - Dependencies: None - Required for: CCIP Sender, Cross-chain operations 3. [ ] **CCIP Sender** - Script: `DeployCCIPSender.s.sol` - Dependencies: CCIP Router - Required for: Cross-chain messaging ### Phase 2: Supporting Contracts (Priority 2) 4. [ ] **Multicall** - Script: `DeployMulticall.s.sol` - Dependencies: None - Utility contract 5. [ ] **MultiSig** - Script: `DeployMultiSig.s.sol` - Dependencies: None - Governance contract ### Phase 3: Application Contracts (Priority 3) 6. [ ] **Price Feed Keeper** - Script: `reserve/DeployKeeper.s.sol` - Dependencies: Oracle Price Feed - Required for: Automated price updates 7. [ ] **Reserve System** - Script: `reserve/DeployReserveSystem.s.sol` - Dependencies: Token Factory (if applicable) - Required for: Financial tokenization --- ## 🔧 Service Configuration ### After Contract Deployment Once contracts are deployed, update service configurations: - [ ] **Oracle Publisher (VMID 3500)** - Update `.env` with Oracle contract address - Restart service - [ ] **CCIP Monitor (VMID 3501)** - Update `.env` with CCIP Router and Sender addresses - Restart service - [ ] **Keeper (VMID 3502)** - Update `.env` with Keeper contract address - Restart service - [ ] **Financial Tokenization (VMID 3503)** - Update `.env` with Reserve System address - Restart service --- ## ✅ Verification Steps ### After Deployment 1. **Verify Contracts on Chain** ```bash cast code --rpc-url http://192.168.11.250:8545 ``` 2. **Verify Service Connections** ```bash # Test Oracle Publisher pct exec 3500 -- curl -X POST http://localhost:8000/health # Test CCIP Monitor pct exec 3501 -- curl -X POST http://localhost:8000/health # Test Keeper pct exec 3502 -- curl -X POST http://localhost:3000/health ``` 3. **Check Service Logs** ```bash # Oracle Publisher pct exec 3500 -- journalctl -u oracle-publisher -f # CCIP Monitor pct exec 3501 -- journalctl -u ccip-monitor -f # Keeper pct exec 3502 -- journalctl -u price-feed-keeper -f ``` --- ## 📊 Current Status Summary ### Completed ✅ - ✅ RPC-01 (VMID 2500) troubleshooting and fix - ✅ Configuration files updated - ✅ Deployment scripts updated with correct IPs - ✅ Network verified (producing blocks, Chain ID 138) - ✅ RPC endpoint accessible and responding ### Pending ⏳ - ⏳ Verify RPC-02 and RPC-03 status - ⏳ Configure deployer account and `.env` file - ⏳ Deploy contracts (waiting for user action) - ⏳ Update service configurations with deployed addresses --- ## 🚀 Ready for Deployment **Status**: ✅ **READY** (pending deployer account setup) All infrastructure, scripts, and documentation are in place. The network is operational and ready for contract deployment. **Next Action**: Configure deployer account and `.env` file, then proceed with contract deployment. --- **Last Updated**: $(date)