Files
proxmox/scripts/setup-new-chain138-containers.sh
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

144 lines
5.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Quick setup script for new ChainID 138 containers: 1504 (besu-sentry-5) and 2503 (besu-rpc-4)
# This script applies the Besu configuration including static-nodes.json and permissioned-nodes.json
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
# Configuration
PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.10}"
# New containers
declare -A NEW_CONTAINERS=(
[1504]="besu-sentry-5"
[2503]="besu-rpc-4" # Ali's RPC node (0x8a)
[2504]="besu-rpc-4" # Ali's RPC node (0x1)
[2505]="besu-rpc-luis" # Luis's RPC node (0x8a)
[2506]="besu-rpc-luis" # Luis's RPC node (0x1)
[2507]="besu-rpc-putu" # Putu's RPC node (0x8a)
[2508]="besu-rpc-putu" # Putu's RPC node (0x1)
)
# Container IPs (update these if different)
declare -A CONTAINER_IPS=(
[1504]="192.168.11.154"
[2503]="192.168.11.253" # Ali (0x8a)
[2504]="192.168.11.254" # Ali (0x1)
[2505]="192.168.11.255" # Luis (0x8a)
[2506]="192.168.11.256" # Luis (0x1)
[2507]="192.168.11.257" # Putu (0x8a)
[2508]="192.168.11.258" # Putu (0x1)
)
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "New ChainID 138 Containers Setup"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Check if main configuration script exists
if [[ ! -f "$SCRIPT_DIR/configure-besu-chain138-nodes.sh" ]]; then
log_error "Main configuration script not found: configure-besu-chain138-nodes.sh"
exit 1
fi
log_info "This script will:"
log_info "1. Run the main ChainID 138 configuration for all Besu nodes"
log_info "2. Ensure new containers (1504, 2503) are properly configured"
log_info "3. Apply discovery settings (disabled for 2503)"
echo ""
# Run the main configuration script
log_info "Running main configuration script..."
if bash "$SCRIPT_DIR/configure-besu-chain138-nodes.sh"; then
log_success "Main configuration completed"
else
log_error "Main configuration failed"
exit 1
fi
echo ""
log_info "=== Verifying New Containers ==="
# Verify containers are running
for vmid in "${!NEW_CONTAINERS[@]}"; do
local hostname="${NEW_CONTAINERS[$vmid]}"
local ip="${CONTAINER_IPS[$vmid]}"
echo ""
log_info "Verifying VMID $vmid ($hostname)..."
# Check if container is running
if ! ssh -o StrictHostKeyChecking=accept-new "root@${PROXMOX_HOST}" \
"pct status $vmid 2>/dev/null | grep -q running"; then
log_warn "Container $vmid is not running"
continue
fi
log_success "Container $vmid is running"
# Check if static-nodes.json exists
if ssh -o StrictHostKeyChecking=accept-new "root@${PROXMOX_HOST}" \
"pct exec $vmid -- test -f /var/lib/besu/static-nodes.json 2>/dev/null"; then
log_success " ✓ static-nodes.json exists"
else
log_warn " ✗ static-nodes.json not found"
fi
# Check if permissioned-nodes.json exists
if ssh -o StrictHostKeyChecking=accept-new "root@${PROXMOX_HOST}" \
"pct exec $vmid -- test -f /var/lib/besu/permissions/permissioned-nodes.json 2>/dev/null"; then
log_success " ✓ permissioned-nodes.json exists"
else
log_warn " ✗ permissioned-nodes.json not found"
fi
# For RPC node 2503, verify discovery is disabled
if [[ "$vmid" == "2503" ]]; then
log_info " Checking discovery setting (should be disabled)..."
if ssh -o StrictHostKeyChecking=accept-new "root@${PROXMOX_HOST}" \
"pct exec $vmid -- grep -q 'discovery-enabled=false' /etc/besu/*.toml 2>/dev/null"; then
log_success " ✓ Discovery is disabled"
else
log_warn " ✗ Discovery may not be disabled (check config files)"
fi
fi
# Check Besu service status
if ssh -o StrictHostKeyChecking=accept-new "root@${PROXMOX_HOST}" \
"pct exec $vmid -- systemctl is-active --quiet besu*.service 2>/dev/null"; then
log_success " ✓ Besu service is running"
else
log_warn " ✗ Besu service may not be running"
fi
done
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
log_success "Setup Complete!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
log_info "Next steps:"
log_info "1. Verify peer connections on all nodes"
log_info "2. Check logs for any errors:"
log_info " pct exec 1504 -- journalctl -u besu*.service -n 50"
log_info " pct exec 2503 -- journalctl -u besu*.service -n 50"
log_info "3. Test RPC endpoint (for 2503):"
log_info " curl -X POST http://${CONTAINER_IPS[2503]}:8545 \\"
log_info " -H 'Content-Type: application/json' \\"
log_info " --data '{\"jsonrpc\":\"2.0\",\"method\":\"net_peerCount\",\"params\":[],\"id\":1}'"