#!/usr/bin/env bash # DBIS Phase 3 — liveness / availability wrapper: Besu RPC liveness + optional FireFly HTTP + optional full RPC health. # This does NOT execute Indy issuance, Aries verification, Fabric chaincode, or cross-chain business workflow steps. # # Usage: bash scripts/verify/run-dbis-phase3-e2e-simulation.sh # Env: RPC_URL_138 (default http://192.168.11.211:8545) # FIREFLY_URL (default http://192.168.11.35:5000) # RUN_CHAIN138_RPC_HEALTH=1 to run check-chain138-rpc-health.sh (slower) set -uo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" # shellcheck source=/dev/null source "$PROJECT_ROOT/config/ip-addresses.conf" 2>/dev/null || true RPC_URL="${RPC_URL_138:-http://${IP_BESU_RPC_CORE_1:-192.168.11.211}:8545}" FIREFLY_URL="${FIREFLY_URL:-http://192.168.11.35:5000}" fail=0 echo "=== DBIS Phase 3 liveness wrapper (partial) ===" echo "RPC: $RPC_URL" echo "" if command -v curl &>/dev/null; then echo "--- Besu eth_chainId / eth_blockNumber ---" if ! out=$(curl -sS --connect-timeout 5 -X POST -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' "$RPC_URL"); then echo "[FAIL] curl chainId" fail=1 else echo "$out" fi if ! out=$(curl -sS --connect-timeout 5 -X POST -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' "$RPC_URL"); then echo "[FAIL] curl blockNumber" fail=1 else echo "$out" fi else echo "[SKIP] curl not installed" fail=1 fi echo "" echo "--- FireFly HTTP (optional) ---" if command -v curl &>/dev/null; then code=$(curl -sS -o /dev/null -w '%{http_code}' --connect-timeout 4 "$FIREFLY_URL/api/v1/status" || true) if [[ "$code" =~ ^(200|401|403)$ ]]; then echo "[OK] $FIREFLY_URL/api/v1/status HTTP $code" else echo "[WARN] $FIREFLY_URL/api/v1/status HTTP ${code:-000} (FireFly may be down or path differs)" fi else echo "[SKIP] curl not installed" fi if [[ "${RUN_CHAIN138_RPC_HEALTH:-}" == "1" ]]; then echo "" echo "--- check-chain138-rpc-health.sh ---" bash "$PROJECT_ROOT/scripts/verify/check-chain138-rpc-health.sh" || fail=1 fi echo "" echo "--- Manual follow-ups (Section 18) ---" echo "This script proves only liveness / availability for the automated checks above." echo "Indy 6400 / Fabric 6000 / CCIP relay on r630-01: see docs/03-deployment/DBIS_PHASE3_E2E_PRODUCTION_SIMULATION_RUNBOOK.md" echo "Caliper: docs/03-deployment/CALIPER_CHAIN138_PERF_HOOK.md" echo "" exit "$fail"