2026-02-12 15:46:57 -08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Shared VMID → IP mapping for Chain 138 / Proxmox
|
|
|
|
|
# Exports: VMID_VALIDATORS, VMID_SENTRIES, VMID_RPC, VMID_CURRENT_NODES,
|
|
|
|
|
# RPC_NODES, VALIDATOR_NODES, SENTRY_NODES, CURRENT_NODES, RPC_URL_138_DEFAULT
|
|
|
|
|
# Usage: source "${PROJECT_ROOT}/scripts/lib/vmid-ip-maps.sh"
|
|
|
|
|
|
|
|
|
|
# Resolve paths if not set
|
|
|
|
|
[[ -z "${PROJECT_ROOT:-}" ]] && PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
|
|
|
[[ -f "${PROJECT_ROOT}/config/ip-addresses.conf" ]] && source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
# Validators (1000-1004)
|
|
|
|
|
declare -gA VMID_VALIDATORS=(
|
|
|
|
|
["1000"]="${IP_VALIDATOR_0:-192.168.11.100}"
|
|
|
|
|
["1001"]="${IP_VALIDATOR_1:-192.168.11.101}"
|
|
|
|
|
["1002"]="${IP_VALIDATOR_2:-192.168.11.102}"
|
|
|
|
|
["1003"]="${IP_VALIDATOR_3:-192.168.11.103}"
|
|
|
|
|
["1004"]="${IP_VALIDATOR_4:-192.168.11.104}"
|
|
|
|
|
)
|
|
|
|
|
|
2026-04-12 06:12:20 -07:00
|
|
|
# Sentries
|
2026-02-12 15:46:57 -08:00
|
|
|
declare -gA VMID_SENTRIES=(
|
|
|
|
|
["1500"]="${IP_BESU_RPC_0:-192.168.11.150}"
|
|
|
|
|
["1501"]="${IP_BESU_RPC_1:-192.168.11.151}"
|
|
|
|
|
["1502"]="${IP_BESU_RPC_2:-192.168.11.152}"
|
|
|
|
|
["1503"]="${IP_BESU_RPC_3:-192.168.11.153}"
|
2026-04-12 06:12:20 -07:00
|
|
|
["1509"]="${IP_BESU_SENTRY_THIRDWEB_1:-192.168.11.219}"
|
|
|
|
|
["1510"]="${IP_BESU_SENTRY_THIRDWEB_2:-192.168.11.220}"
|
2026-02-12 15:46:57 -08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# RPC nodes (current active)
|
|
|
|
|
# 2101: admin/deployment; 2201: bridge, monitoring, public-facing (8545 HTTP, 8546 WS) — FIXED PERMANENT
|
|
|
|
|
declare -gA VMID_RPC=(
|
|
|
|
|
["2101"]="${RPC_CORE_1:-192.168.11.211}"
|
|
|
|
|
["2201"]="${RPC_PUBLIC_1:-192.168.11.221}"
|
|
|
|
|
["2400"]="${RPC_THIRDWEB_PRIMARY:-192.168.11.240}"
|
|
|
|
|
["2401"]="${RPC_THIRDWEB_1:-192.168.11.241}"
|
|
|
|
|
["2402"]="${RPC_THIRDWEB_2:-192.168.11.242}"
|
2026-04-12 06:12:20 -07:00
|
|
|
["2420"]="${RPC_ALLTRA_1:-192.168.11.172}"
|
|
|
|
|
["2430"]="${RPC_ALLTRA_2:-192.168.11.173}"
|
|
|
|
|
["2440"]="${RPC_ALLTRA_3:-192.168.11.174}"
|
|
|
|
|
["2460"]="${RPC_HYBX_1:-192.168.11.246}"
|
|
|
|
|
["2470"]="${RPC_HYBX_2:-192.168.11.247}"
|
|
|
|
|
["2480"]="${RPC_HYBX_3:-192.168.11.248}"
|
2026-02-12 15:46:57 -08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Combined current nodes (validators + sentries + rpc)
|
|
|
|
|
declare -gA VMID_CURRENT_NODES=()
|
|
|
|
|
for k in "${!VMID_VALIDATORS[@]}"; do VMID_CURRENT_NODES["$k"]="${VMID_VALIDATORS[$k]}"; done
|
|
|
|
|
for k in "${!VMID_SENTRIES[@]}"; do VMID_CURRENT_NODES["$k"]="${VMID_SENTRIES[$k]}"; done
|
|
|
|
|
for k in "${!VMID_RPC[@]}"; do VMID_CURRENT_NODES["$k"]="${VMID_RPC[$k]}"; done
|
|
|
|
|
|
|
|
|
|
# Aliases for backward compatibility
|
|
|
|
|
declare -gA RPC_NODES=()
|
|
|
|
|
declare -gA VALIDATOR_NODES=()
|
|
|
|
|
declare -gA SENTRY_NODES=()
|
|
|
|
|
declare -gA CURRENT_NODES=()
|
|
|
|
|
for k in "${!VMID_RPC[@]}"; do RPC_NODES["$k"]="${VMID_RPC[$k]}"; done
|
|
|
|
|
for k in "${!VMID_VALIDATORS[@]}"; do VALIDATOR_NODES["$k"]="${VMID_VALIDATORS[$k]}"; done
|
|
|
|
|
for k in "${!VMID_SENTRIES[@]}"; do SENTRY_NODES["$k"]="${VMID_SENTRIES[$k]}"; done
|
|
|
|
|
for k in "${!VMID_CURRENT_NODES[@]}"; do CURRENT_NODES["$k"]="${VMID_CURRENT_NODES[$k]}"; done
|
|
|
|
|
|
|
|
|
|
# Default RPC URL (admin: RPC_URL_138; public/bridge: RPC_URL_138_PUBLIC)
|
|
|
|
|
RPC_URL_138_DEFAULT="${RPC_URL_138:-http://${RPC_CORE_1:-192.168.11.211}:8545}"
|
|
|
|
|
RPC_URL_138_PUBLIC_DEFAULT="${RPC_URL_138_PUBLIC:-http://${RPC_PUBLIC_1:-192.168.11.221}:8545}"
|
|
|
|
|
WS_URL_138_PUBLIC_DEFAULT="${WS_URL_138_PUBLIC:-ws://${RPC_PUBLIC_1:-192.168.11.221}:8546}"
|