73 lines
2.5 KiB
Bash
Executable File
73 lines
2.5 KiB
Bash
Executable File
#!/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"
|