Files
smom-dbis-138/docs/DEPLOYMENT_STATUS_AND_NEXT_STEPS.md

5.4 KiB

Deployment Status and Next Steps

Last Reviewed: 2026-04-13
Status: Historical deployment snapshot
Network: ChainID 138 - DeFi Oracle Meta Mainnet
Use for current operations: docs/deployment/MASTER_INDEX.md, docs/PROJECT_OPTIMIZATION_STATUS.md, and docs/operations/tasks/NEXT_STEPS_LIST.md

This document preserves an earlier deployment checkpoint with environment-specific details. Keep it for context, but prefer the current deployment indexes and runbooks above for live operations.

Completed Tasks

Phase 1: Infrastructure Setup

  • Genesis.json updated with WETH9/WETH10 bytecode (31,213 bytes)
  • QBFT extraData generated and deployed (RLP-encoded, 300 chars)
  • Data directories emptied on all 5 nodes
  • Besu containers restarted with new genesis
  • All 5 nodes verified running (ChainID 138)

Phase 2: Core Contracts

  • WETH9 deployed at genesis: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 (3,125 bytes)
  • WETH10 deployed at genesis: 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F (9,976 bytes)
  • WETH10 functions verified: name='Wrapped Ether v10', symbol='WETH10', decimals=18

Phase 3: Deployment Scripts

  • CCIP Router deployment script created
  • CCIP Sender deployment script created
  • CCIP Receiver deployment script created
  • CCIP WETH9 Bridge deployment script created
  • CCIP WETH10 Bridge deployment script created
  • Deployment orchestrator script created

Phase 4: Monitoring & Explorer

  • Blockscout deployed (startup command fixed)
  • Blockscout database running and healthy

Current Status

Block Production

  • Status: Nodes at block 0 (QBFT validators initializing)
  • Chain ID: 138
  • extraData: Valid RLP-encoded (300 chars)
  • Next: Wait for validators to initialize and start producing blocks

RPC Connectivity

  • Status: SSH tunnel needed for local contract deployment
  • Endpoint: http://localhost:8545 (tunnel to 10.3.1.4:8545)
  • Next: Establish tunnel once blocks are producing

Contract Deployment

  • Status: Scripts ready, awaiting block production
  • Deployment: Will proceed once network is producing blocks
  • Next: Deploy CCIP infrastructure and core contracts

📋 Next Steps (Prioritized)

Immediate (Once Blocks are Producing)

  1. Verify Block Production

    cast block-number --rpc-url http://localhost:8545
    # Should return > 0 once QBFT is producing blocks
    
  2. Establish RPC Tunnel

    ssh -f -N -L 8545:10.3.1.4:8545 besuadmin@20.160.58.99
    
  3. Deploy CCIP Infrastructure (in parallel where possible)

    • CCIP Router
    • CCIP Sender
    • CCIP Receiver
    • CCIP WETH9 Bridge
    • CCIP WETH10 Bridge
  4. Deploy Core Contracts

    • Multicall
    • Oracle Aggregator/Proxy
    • MultiSig
    • Mirror Manager
    • Two-Way Bridges

Short Term (This Week)

  1. Configure FireFly Infrastructure

    • Configure FireFly Core for Chain 138
    • Configure FireFly DataExchange
    • Connect FireFly to Ethereum mainnet
    • Test cross-chain messaging
  2. Configure Cacti Infrastructure

    • Deploy Cacti Core
    • Configure EVM connectors for Chain 138
    • Configure connectors for Ethereum/Fabric
    • Test multi-ledger workflows
  3. Verify Blockscout

    • Ensure Blockscout is accessible
    • Verify contract verification works
    • Test explorer functionality

Medium Term (This Month)

  1. Deploy Enterprise Interop Contracts

    • Chain138Anchor
    • AnchorCoordinator
    • EthereumEventOracle
    • Chain138AnchorReceiver
  2. E2E Testing

    • Test CCIP message flows
    • Test cross-chain oracle updates
    • Test enterprise interop workflows
  3. Production Hardening

    • Security audits
    • Performance optimization
    • Documentation updates
    • Monitoring alerts

🔧 Troubleshooting

Block Production Not Starting

  • Verify extraData in genesis.json is valid (300+ chars)
  • Check Besu logs for validator errors
  • Ensure validator keys are configured on nodes
  • Verify QBFT validators match extraData addresses

RPC Connection Issues

  • Check SSH tunnel is active: ps aux | grep ssh.*8545
  • Verify RPC is enabled on node: curl http://10.3.1.4:8545
  • Check firewall rules allow localhost forwarding

Contract Deployment Fails

  • Verify network is producing blocks
  • Check RPC connectivity
  • Verify PRIVATE_KEY in .env has 0x prefix
  • Check gas price/gas limit settings

📊 Network Configuration

  • Chain ID: 138
  • Consensus: QBFT
  • Block Period: 2 seconds
  • Epoch Length: 30,000 blocks
  • Gas Limit: 30,000,000 (0x1c9c380)

📋 Deployment Scripts Location

  • CCIP Contracts: script/DeployCCIP*.s.sol
  • Core Contracts: script/Deploy*.s.sol
  • Orchestrator: scripts/deployment/deploy-all-contracts.sh

🔗 Useful Commands

# Check block production
cast block-number --rpc-url http://localhost:8545

# Verify WETH contracts
cast code 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --rpc-url http://localhost:8545
cast code 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F --rpc-url http://localhost:8545

# Deploy contracts
forge script script/DeployCCIPRouter.s.sol:DeployCCIPRouter --rpc-url http://localhost:8545 --broadcast --private-key $PRIVATE_KEY --legacy

Note: Block production initialization may take several minutes. Monitor Besu logs for validator initialization progress, and use the current deployment indexes above for active operational guidance.