- Institutional / JVMTM / reserve-provenance / GRU transport + standards JSON - Validation and verify scripts (Blockscout labels, x402, GRU preflight, P1 local path) - Wormhole wiring in AGENTS, MCP_SETUP, MASTER_INDEX, 04-configuration README - Meta docs, integration gaps, live verification log, architecture updates - CI validate-config workflow updates Operator/LAN items, submodule working trees, and public token-aggregation edge routes remain follow-up (see TODOS_CONSOLIDATED P1). Made-with: Cursor
49 lines
1.6 KiB
Bash
Executable File
49 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Append a real RPC reachability line (primary, optional secondary) — minimal execution evidence, not full DR.
|
|
# This is a smoke check: eth_blockNumber over HTTP JSON-RPC. For data-centre DR, attach separate drill logs.
|
|
#
|
|
# Env (after load-project-env):
|
|
# RPC_URL_138 — primary
|
|
# RPC_URL_138_SECONDARY — optional fallback URL
|
|
# JVMTM_BCP_LOG — default output/jvmtm-evidence/bcp/failover-execution-log.txt
|
|
set -eo pipefail
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
# shellcheck source=scripts/lib/load-project-env.sh
|
|
set +u
|
|
source "${REPO_ROOT}/scripts/lib/load-project-env.sh"
|
|
set -euo pipefail
|
|
|
|
LOG="${JVMTM_BCP_LOG:-${REPO_ROOT}/output/jvmtm-evidence/bcp/failover-execution-log.txt}"
|
|
mkdir -p "$(dirname "$LOG")"
|
|
P="${RPC_URL_138:-http://192.168.11.211:8545}"
|
|
S="${RPC_URL_138_SECONDARY:-}"
|
|
TS="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
|
|
rpc_ping() {
|
|
local url="$1"
|
|
curl -sS -m 8 -X POST "$url" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' 2>/dev/null | jq -r '.result // empty' || true
|
|
}
|
|
|
|
R1="$(rpc_ping "$P")"
|
|
if [[ -n "$R1" ]]; then
|
|
echo "${TS} primary_ok rpc=${P} block=${R1}" >> "$LOG"
|
|
echo "primary_ok $R1" >&2
|
|
exit 0
|
|
fi
|
|
|
|
echo "${TS} primary_fail rpc=${P}" >> "$LOG"
|
|
if [[ -n "$S" ]]; then
|
|
R2="$(rpc_ping "$S")"
|
|
if [[ -n "$R2" ]]; then
|
|
echo "${TS} secondary_ok rpc=${S} block=${R2} (after primary fail)" >> "$LOG"
|
|
echo "secondary_ok $R2" >&2
|
|
exit 0
|
|
fi
|
|
echo "${TS} secondary_fail rpc=${S}" >> "$LOG"
|
|
fi
|
|
|
|
echo "FAIL: no RPC responded" >&2
|
|
exit 1
|