Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
79 lines
4.9 KiB
Bash
Executable File
79 lines
4.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Update master lists with real enodes for ALLTRA/HYBX nodes
|
|
|
|
set -euo pipefail
|
|
|
|
# Load IP configuration
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
# Real enodes collected
|
|
declare -A REAL_ENODES
|
|
REAL_ENODES["${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-192.168.11.21}}}}}3"]="enode://b34bc020e7d227696ff132da51cdf58b8e5aaf4ace9d5094bb86f9e66376b052b8b4b5f23acc69c3fb0da75ee6176e70defff14332fb925fef6e0b60c3310ca2@${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-192.168.11.21}}}}}3:30303"
|
|
REAL_ENODES["${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-192.168.11.21}}}}}4"]="enode://5cdab7d9835e5998373d4efec27bead1d55f0ed833a2669f3af330de33cd3fd1882caa18ad9f813d0621c7dc694d829a10de8d43d10f2c3ea6a8d4c16cc5f648@${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-${IP_SERVICE_21:-192.168.11.21}}}}}4:30303"
|
|
REAL_ENODES["${IP_SERVICE_172:-${IP_SERVICE_172:-192.168.11.172}}"]="enode://fb96450dce5ff6dc3b5e75553eb2e4651ec6c33173060e10453aacfae18e5854606c4aacd2c2de29a0024749bf594aff1f28a9aa3fbe34529db3575b0461872a@${IP_SERVICE_172:-${IP_SERVICE_172:-192.168.11.172}}:30303"
|
|
REAL_ENODES["${IP_SERVICE_173:-${IP_SERVICE_173:-192.168.11.173}}"]="enode://904eb9acbe406d1825afd2cd61d0ce2f4614eb48bcb8d19476428034ef992d07b5b9d36102a8cbb42479d2a63c6d48b68091ddc6545025a999ef6b55d6c17e07@${IP_SERVICE_173:-${IP_SERVICE_173:-192.168.11.173}}:30303"
|
|
REAL_ENODES["${IP_SERVICE_174:-${IP_SERVICE_174:-192.168.11.174}}"]="enode://17413a9ab0f570c72e9d7d511a856cd5b5abb58b70d0b9635524220a5354ee275429bf5d630025dbbb0d67c6ae24510e6560bf8b38a7e226e24a00cd181d6ae6@${IP_SERVICE_174:-${IP_SERVICE_174:-192.168.11.174}}:30303"
|
|
REAL_ENODES["${IP_RPC_244:-${IP_RPC_244:-${IP_RPC_244:-192.168.11.244}}}"]="enode://ab7f104acbcb254ced2653122f80b2c93b541467edc8f5b4bc90c4d3794cbbb1b2cbea69f9fe5e89f848e46a158e6ce45d76901e64801669321ce62172048eb8@${IP_RPC_244:-${IP_RPC_244:-${IP_RPC_244:-192.168.11.244}}}:30303"
|
|
REAL_ENODES["${IP_RPC_245:-${IP_RPC_245:-${IP_RPC_245:-192.168.11.245}}}"]="enode://237e27eb3a8738189e266615e7d613da18f86018a76080e18dbb9856baeab6454b1aebff889bc0790f2d791dd277121ee76a4fc0a0d1bc1001c2811b42518618@${IP_RPC_245:-${IP_RPC_245:-${IP_RPC_245:-192.168.11.245}}}:30303"
|
|
REAL_ENODES["${IP_RPC_246:-${IP_RPC_246:-${IP_RPC_246:-192.168.11.246}}}"]="enode://89570ba8882ea1d383afb97d0d82eb3cf5d0c5fec7ae2acfe39487e5335ee91c36cd4b5e9aa05110d99b51a16b869f7531e6f89ec63476cba7f928356c437348@${IP_RPC_246:-${IP_RPC_246:-${IP_RPC_246:-192.168.11.246}}}:30303"
|
|
REAL_ENODES["${IP_RPC_247:-${IP_RPC_247:-${IP_RPC_247:-192.168.11.247}}}"]="enode://0fdbda7b6916973e598b7c9ff6e4e2da6f8bcce2ca46bb11c58368a9fbcfcb303a4955a563b2f71a51a813abeed3b44da220ad1488d19c9483f733548a7b7765@${IP_RPC_247:-${IP_RPC_247:-${IP_RPC_247:-192.168.11.247}}}:30303"
|
|
REAL_ENODES["${IP_RPC_248:-${IP_RPC_248:-${IP_RPC_248:-192.168.11.248}}}"]="enode://0c710ae1e4eaf7ee9d375c404798625c5165e1699a24aedadcfb69fa8fcde41c822d3576b1a180c3251aeba9782ceb43cb32c300c4e1a205905728d72b94cfe9@${IP_RPC_248:-${IP_RPC_248:-${IP_RPC_248:-192.168.11.248}}}:30303"
|
|
|
|
echo "Updating master-static-nodes.json..."
|
|
|
|
# Read current nodes
|
|
UPDATED_NODES=()
|
|
while IFS= read -r line; do
|
|
if [[ "$line" =~ \"enode:// ]]; then
|
|
enode=$(echo "$line" | grep -o 'enode://[^"]*')
|
|
ip=$(echo "$enode" | grep -oE '192\.168\.11\.[0-9]+')
|
|
|
|
# Check if this IP has a real enode
|
|
if [[ -n "${REAL_ENODES[$ip]:-}" ]]; then
|
|
# Replace with real enode
|
|
UPDATED_NODES+=(" \"${REAL_ENODES[$ip]}\"")
|
|
echo " Replaced placeholder for $ip with real enode"
|
|
else
|
|
# Keep existing enode
|
|
UPDATED_NODES+=("$line")
|
|
fi
|
|
else
|
|
# Keep formatting lines
|
|
if [[ "$line" =~ ^\[ || "$line" =~ ^\] ]]; then
|
|
continue
|
|
fi
|
|
fi
|
|
done < "$PROJECT_ROOT/config/master-static-nodes.json"
|
|
|
|
# Write new file
|
|
{
|
|
echo "["
|
|
for i in "${!UPDATED_NODES[@]}"; do
|
|
if [ $i -lt $((${#UPDATED_NODES[@]} - 1)) ]; then
|
|
echo "${UPDATED_NODES[$i]},"
|
|
else
|
|
echo "${UPDATED_NODES[$i]}"
|
|
fi
|
|
done
|
|
echo "]"
|
|
} > "$PROJECT_ROOT/config/master-static-nodes.json"
|
|
|
|
echo "✅ Updated master-static-nodes.json"
|
|
|
|
# Copy to permissioned
|
|
cp "$PROJECT_ROOT/config/master-static-nodes.json" "$PROJECT_ROOT/config/master-permissioned-nodes.json"
|
|
echo "✅ Updated master-permissioned-nodes.json"
|
|
|
|
# Validate
|
|
jq empty "$PROJECT_ROOT/config/master-static-nodes.json" && echo "✅ JSON validation passed"
|
|
|
|
echo ""
|
|
echo "Total enodes: $(jq length "$PROJECT_ROOT/config/master-static-nodes.json")"
|
|
echo "All 10 placeholder enodes replaced with real enodes!"
|