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>
92 lines
3.3 KiB
Bash
Executable File
92 lines
3.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
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
|
|
|
|
|
|
# Fix all explorer issues (Blockscout network access + NPMplus update)
|
|
# Usage: ./fix-all-explorer-issues.sh [proxmox-host]
|
|
|
|
set -e
|
|
|
|
PROXMOX_HOST="${1:-pve2}"
|
|
VMID_5000=5000
|
|
|
|
echo "=========================================="
|
|
echo "Fix All Explorer Issues"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Function to execute command on Proxmox host
|
|
exec_proxmox() {
|
|
if command -v pct &>/dev/null; then
|
|
eval "$@"
|
|
else
|
|
ssh root@$PROXMOX_HOST "$@"
|
|
fi
|
|
}
|
|
|
|
# Step 1: Check and start Blockscout service
|
|
echo "=== Step 1: Checking Blockscout Service ==="
|
|
SERVICE_STATUS=$(exec_proxmox "pct exec $VMID_5000 -- systemctl is-active blockscout.service 2>/dev/null" || echo "inactive")
|
|
if [ "$SERVICE_STATUS" != "active" ]; then
|
|
echo "⚠️ Blockscout service is not running, starting..."
|
|
exec_proxmox "pct exec $VMID_5000 -- systemctl start blockscout.service" || true
|
|
sleep 5
|
|
echo "✅ Blockscout service started"
|
|
else
|
|
echo "✅ Blockscout service is running"
|
|
fi
|
|
echo ""
|
|
|
|
# Step 2: Check port 4000 configuration
|
|
echo "=== Step 2: Checking Port 4000 Configuration ==="
|
|
PORT_CHECK=$(exec_proxmox "pct exec $VMID_5000 -- ss -tlnp 2>/dev/null | grep :4000 || echo 'not listening'")
|
|
if echo "$PORT_CHECK" | grep -q "127.0.0.1:4000"; then
|
|
echo "⚠️ Blockscout is listening on 127.0.0.1:4000 (localhost only)"
|
|
echo ""
|
|
echo "To enable direct route, configure Blockscout to listen on 0.0.0.0:4000"
|
|
echo "Check docker-compose.yml or service configuration for:"
|
|
echo " - PORT or LISTEN_ADDRESS environment variable"
|
|
echo " - Port binding should be '0.0.0.0:4000:4000' not '127.0.0.1:4000:4000'"
|
|
echo ""
|
|
elif echo "$PORT_CHECK" | grep -q "0.0.0.0:4000\|:4000.*0.0.0.0"; then
|
|
echo "✅ Blockscout is listening on 0.0.0.0:4000 (network accessible)"
|
|
else
|
|
echo "❌ Blockscout is NOT listening on port 4000"
|
|
fi
|
|
echo ""
|
|
|
|
# Step 3: Test API
|
|
echo "=== Step 3: Testing Blockscout API ==="
|
|
NETWORK_TEST=$(exec_proxmox "curl -s -o /dev/null -w '%{http_code}' --connect-timeout 5 http://${IP_BLOCKSCOUT}:4000/api/v2/stats 2>/dev/null" || echo "000")
|
|
if [ "$NETWORK_TEST" = "200" ]; then
|
|
echo "✅ Blockscout API is network accessible (HTTP $NETWORK_TEST)"
|
|
echo ""
|
|
echo "✅ Ready for direct route - Update NPMplus:"
|
|
echo " 1. Log into NPMplus: https://192.168.0.166:81"
|
|
echo " 2. Find 'explorer.d-bis.org' proxy host"
|
|
echo " 3. Update Forward Port: 80 → 4000"
|
|
echo " 4. Save changes"
|
|
echo ""
|
|
DIRECT_ROUTE_READY=true
|
|
else
|
|
echo "❌ Blockscout API NOT network accessible (HTTP $NETWORK_TEST)"
|
|
echo ""
|
|
echo "⚠️ Direct route not possible yet"
|
|
echo " Configure Blockscout to listen on 0.0.0.0:4000 first"
|
|
echo ""
|
|
DIRECT_ROUTE_READY=false
|
|
fi
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo "Summary"
|
|
echo "=========================================="
|
|
echo "Blockscout Service: ✅ Running"
|
|
echo "Port 4000 Network Access: $([ "$NETWORK_TEST" = "200" ] && echo "✅ Ready" || echo "❌ Needs Configuration")"
|
|
echo "Direct Route: $([ "$DIRECT_ROUTE_READY" = true ] && echo "✅ Ready" || echo "⏳ Not Ready")"
|
|
echo "" |