Files
proxmox/docs/03-deployment/DEPLOYMENT_READINESS_CHECKLIST.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

5.8 KiB

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

  • 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

  • RPC endpoint responds to eth_blockNumber
  • RPC endpoint responds to eth_chainId
  • Chain ID verified: 138
  • Network producing blocks (block number > 0)

Validator Network

  • All validators (1000-1004) operational
  • Network consensus active
  • Block production stable

Configuration Readiness

Deployment Scripts

  • Deployment script updated: deploy-contracts-once-ready.sh

    • IP address updated: 10.3.1.4:8545192.168.11.250:8545
    • Location: /home/intlc/projects/smom-dbis-138/scripts/deployment/
  • 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

  • Besu RPC config template: Updated

    • Deprecated options removed
    • File: templates/besu-configs/config-rpc.toml
  • 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=<deployer-private-key>
      • RESERVE_ADMIN=<admin-address>
      • KEEPER_ADDRESS=<keeper-address>
      • ORACLE_PRICE_FEED=<oracle-address> (after Oracle deployment)

Deployer Account

  • Deployer account has sufficient balance
    • Check balance: cast balance <deployer-address> --rpc-url http://192.168.11.250:8545
    • Minimum recommended: 1 ETH equivalent

Network Verification

  • Network is producing blocks

    • Verified: Yes
    • Current block: > 11,200 (as of troubleshooting)
  • 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)

  1. Multicall

    • Script: DeployMulticall.s.sol
    • Dependencies: None
    • Utility contract
  2. MultiSig

    • Script: DeployMultiSig.s.sol
    • Dependencies: None
    • Governance contract

Phase 3: Application Contracts (Priority 3)

  1. Price Feed Keeper

    • Script: reserve/DeployKeeper.s.sol
    • Dependencies: Oracle Price Feed
    • Required for: Automated price updates
  2. 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

    cast code <contract-address> --rpc-url http://192.168.11.250:8545
    
  2. Verify Service Connections

    # 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

    # 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)