Files
proxmox/reports/status/EXPLORER_VMID5000_COMPREHENSIVE_ISSUES_REVIEW.md
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

16 KiB

Comprehensive Issues Review: Explorer & VMID 5000

Date: 2026-01-03
Review Status: 🔴 CRITICAL ISSUES IDENTIFIED


📊 Executive Summary

This document provides a comprehensive review of all identified issues with:

  1. Blockscout Explorer (VMID 5000) - Docker-based blockchain explorer
  2. explorer-monorepo - Custom Go/Next.js explorer implementation
  3. Public Explorer Access - https://explorer.d-bis.org

Overall Status: EXPLORER NOT ACCESSIBLE


🔴 Critical Issues Summary

Blockscout Explorer (VMID 5000)

Issue Category Status Severity Details
Container Accessibility NOT ACCESSIBLE CRITICAL Public URL returns HTTP 404 / Cloudflare Error 530
Container Status UNKNOWN CRITICAL Cannot verify if VMID 5000 is running
Blockscout Service NOT RUNNING CRITICAL No containers or processes found
Database Connection ⚠️ POTENTIAL ISSUE HIGH Database password/credentials may need fixing
Database Migrations ⚠️ UNKNOWN MEDIUM Migrations status unclear
Nginx Configuration ⚠️ UNKNOWN MEDIUM Cannot verify configuration
Cloudflare Tunnel ⚠️ UNKNOWN MEDIUM Tunnel status unclear
SSL Certificates ⚠️ UNKNOWN MEDIUM Certificate validity unknown

explorer-monorepo (Custom Explorer)

Issue Category Status Severity Details
Backend API Server NOT RUNNING CRITICAL Server not running on port 8080
API Endpoints ALL FAILING CRITICAL All endpoints return HTTP 000 (connection refused)
Database Connection ⚠️ CONFIGURATION NEEDED HIGH Database credentials not configured
API Routing BROKEN ENDPOINTS HIGH Multiple REST endpoints return 400 errors
Data Structure Mismatches ⚠️ INCONSISTENCIES MEDIUM Frontend expects different format than Blockscout API
Error Handling ⚠️ INCOMPLETE MEDIUM Missing retry logic, user-friendly errors

🔍 Detailed Issue Analysis

1. Blockscout Explorer (VMID 5000) Issues

Issue 1.1: Explorer Not Accessible

Symptom:

  • Public URL https://explorer.d-bis.org returns HTTP 404 or Cloudflare Error 530
  • API endpoint /api/v2/stats is not accessible

Possible Causes:

  1. Container VMID 5000 is not running
  2. Blockscout service stopped or crashed
  3. Nginx configuration issue
  4. Cloudflare tunnel routing issue
  5. DNS configuration issue
  6. Container was deleted or corrupted

Last Known Working State (December 23, 2025):

  • Container: VMID 5000 on pve2 (192.168.11.140)
  • Blockscout Service: Running
  • PostgreSQL Database: Healthy, 118,433+ blocks indexed
  • Nginx Web Server: Active, SSL configured
  • Cloudflare Tunnel: Configured and routing
  • Indexing: Active (118,433 blocks, 50 transactions, 33 addresses)

Investigation Commands:

# Check if container exists and is running (on Proxmox host)
ssh root@192.168.11.10
pct list | grep 5000
pct status 5000

# Check Blockscout service
pct exec 5000 -- systemctl status blockscout
pct exec 5000 -- docker ps

# Check Nginx
pct exec 5000 -- systemctl status nginx
pct exec 5000 -- nginx -t

# Check Cloudflare tunnel
pct exec 5000 -- systemctl status cloudflared

Issue 1.2: Database Connection Issues ⚠️

Documented Issues:

  • Database password may need reset
  • Database credentials configuration unclear
  • PostgreSQL connection authentication issues

Fix Commands Available:

  • See: explorer-monorepo/docs/VMID_5000_DATABASE_FIX_COMMANDS.md
  • Multiple options provided for fixing database credentials

Common Database Issues:

  1. Explorer user password mismatch
  2. Database not created
  3. Insufficient privileges
  4. PostgreSQL service not running

Verification Commands:

# Inside VMID 5000
pg_isready -h localhost -p 5432 -U explorer
psql -h localhost -p 5432 -U postgres -c "SELECT version();"
PGPASSWORD=changeme psql -h localhost -p 5432 -U explorer -d explorer -c "SELECT 1;"

Issue 1.3: Database Migrations ⚠️

Potential Issues:

  • Migrations may not have run
  • Schema may be incomplete
  • Tables may be missing

Fix Script Available:

  • explorer-monorepo/scripts/fix-blockscout-vmid5000.sh

Migration Commands:

# Run migrations inside Blockscout container
docker exec -it $BLOCKSCOUT_CONTAINER bin/blockscout eval "Explorer.Release.migrate()"
# Or
docker exec -it $BLOCKSCOUT_CONTAINER mix ecto.migrate

Issue 1.4: Container Initialization Issues ⚠️

Common Problems:

  • Container may be restarting
  • Container may have crashed
  • Docker compose configuration issues
  • Missing environment variables
  • Port conflicts

Diagnostic Script Available:

  • explorer-monorepo/scripts/diagnose-blockscout-crash.sh

Check Container Status:

# Inside VMID 5000
docker ps -a | grep blockscout
docker logs blockscout 2>&1 | tail -50
docker inspect blockscout | grep -A 10 RestartCount

2. explorer-monorepo Issues

Issue 2.1: Backend API Server Not Running

Status: CRITICAL
Impact: All local API endpoints fail

Error: All API endpoints return HTTP 000 (connection refused)

Affected Endpoints:

  • /api/v2/stats - Stats endpoint
  • /api/v1/blocks - Blocks listing
  • /api/v1/transactions - Transactions listing
  • /api?module=block&action=eth_block_number - Etherscan-compatible API
  • /health - Health check endpoint

Root Cause: The backend Go server (backend/api/rest/main.go) is not running on port 8080.

Location: /home/intlc/projects/proxmox/explorer-monorepo/backend/api/rest

Solution:

Option 1: Start Backend Server Directly

cd /home/intlc/projects/proxmox/explorer-monorepo/backend/api/rest

# Set environment variables
export CHAIN_ID=138
export PORT=8080
export DB_HOST=localhost
export DB_PORT=5432
export DB_USER=explorer
export DB_PASSWORD=your_password
export DB_NAME=explorer

# Run the server
go run main.go

Option 2: Use Startup Script

cd /home/intlc/projects/proxmox/explorer-monorepo
./scripts/start-backend.sh
# Or
./scripts/start-backend-service.sh

Option 3: Build and Run

cd /home/intlc/projects/proxmox/explorer-monorepo/backend/api/rest
go build -o api-server main.go
./api-server

Documentation: See explorer-monorepo/docs/ERROR_REPORT_AND_FIXES.md and explorer-monorepo/docs/QUICK_FIX_GUIDE.md

Issue 2.2: Database Configuration Missing ⚠️

Status: HIGH PRIORITY

Issue: Backend requires database connection but configuration may be missing or incorrect.

Required Environment Variables:

DB_HOST=localhost          # Database host
DB_PORT=5432              # Database port
DB_USER=explorer          # Database user
DB_PASSWORD=your_password # Database password (MUST BE SET)
DB_NAME=explorer          # Database name

Verification:

# Test PostgreSQL connection
psql -h localhost -U explorer -d explorer -c "SELECT 1;"

# Or using connection string
psql "postgresql://explorer:password@localhost:5432/explorer" -c "SELECT 1;"

Impact:

  • Backend API works but database queries may fail
  • Health endpoint shows degraded status
  • Track 2-4 endpoints require database (Track 1 uses RPC)

Issue 2.3: Broken API Endpoints

Status: HIGH PRIORITY

Problem: Multiple endpoints return 400 errors with message: "Params 'module' and 'action' are required parameters"

Affected Endpoints:

  • /api/v1/blocks/138/{blockNumber} - Returns 400
  • /api/v1/transactions/138/{txHash} - Returns 400
  • /api/v1/addresses/138/{address} - Returns 400
  • /api/v1/transactions?from_address={address} - Returns 400
  • /api/v2/status - Returns 400
  • /health - Returns 400

Impact:

  • Block detail pages don't work
  • Transaction detail pages don't work
  • Address detail pages don't work
  • Health checks fail

Root Cause: API routing not properly configured for REST endpoints

Documentation: See explorer-monorepo/docs/API_ANALYSIS_AND_RECOMMENDATIONS.md

Issue 2.4: Data Structure Mismatches ⚠️

Status: MEDIUM PRIORITY

Problem: Frontend expects different data structures than what Blockscout API provides

Blockscout Block Structure:

  • height (Frontend expects number)
  • miner.hash (Frontend expects miner as string)

Blockscout Transaction Structure:

  • from.hash (Frontend expects from as string)
  • to.hash (Frontend expects to as string)
  • status as string "ok"/"error" (Frontend expects number)
  • block_number may be null

Impact: Frontend may not display data correctly even when API works

Solution: Create adapter functions to normalize Blockscout data

Documentation: See explorer-monorepo/docs/API_ANALYSIS_AND_RECOMMENDATIONS.md

Issue 2.5: Missing Error Handling ⚠️

Status: MEDIUM PRIORITY

Issues:

  • No retry logic for failed API calls
  • No user-friendly error messages
  • No fallback when Blockscout API is unavailable
  • No loading states for detail pages

Recommendation:

  • Implement exponential backoff retry logic
  • Show user-friendly error messages with retry buttons
  • Add fallback to cached data when API fails
  • Add skeleton loaders for better UX

Working Components

RPC Connectivity

  • Status: Accessible
  • RPC URL: http://192.168.11.250:8545
  • Chain ID: 138
  • Current Block: 148937 (as of last check)

Blockscout API (When Accessible)

  • Status: Working (when explorer is accessible)
  • Endpoints: /api/v2/blocks, /api/v2/transactions
  • Note: API works when Blockscout is running

Frontend Configuration

  • Ethers Library: Properly referenced
  • Blockscout API: Configured for ChainID 138
  • ChainID 138: Correctly set
  • Error Handling: 16 console.error calls and 26 try-catch blocks found

HTTPS Connectivity

  • URL: https://explorer.d-bis.org
  • Status: Accessible (but returns 404/530 error)

🚨 Priority Action Items

Immediate Actions (Priority 1)

  1. Verify VMID 5000 Container Status 🔴

    ssh root@192.168.11.10
    pct list | grep 5000
    pct status 5000
    
    • If container exists but stopped: pct start 5000
    • If container missing: Deploy new container
  2. Check Blockscout Service Status 🔴

    pct exec 5000 -- systemctl status blockscout
    pct exec 5000 -- docker ps
    
    • If service stopped: Restart service
    • If containers missing: Redeploy Blockscout
  3. Start explorer-monorepo Backend Server 🔴

    cd /home/intlc/projects/proxmox/explorer-monorepo
    ./scripts/start-backend-service.sh
    
    • Verify database configuration
    • Check server logs

High Priority (Priority 2)

  1. Fix Database Configuration 🟠

    • Set correct database credentials
    • Test database connection
    • Run migrations if needed
  2. Fix API Routing Issues 🟠

    • Fix REST endpoint routing
    • Implement proper health check endpoint
    • Test all API endpoints
  3. Check Cloudflare Tunnel 🟠

    pct exec 5000 -- systemctl status cloudflared
    pct exec 5000 -- journalctl -u cloudflared -n 50
    

Medium Priority (Priority 3)

  1. Implement Data Adapters 🟡

    • Create adapter functions for Blockscout data
    • Handle null/undefined values
    • Map status strings to numbers
  2. Add Error Handling 🟡

    • Implement retry logic
    • Add user-friendly error messages
    • Add loading states

🔧 Recovery Procedures

Option 1: Restart Blockscout Service

# On Proxmox host
ssh root@192.168.11.10
pct exec 5000 -- systemctl restart blockscout
pct exec 5000 -- systemctl restart nginx
pct exec 5000 -- systemctl restart cloudflared

Option 2: Redeploy Blockscout Container

If container is missing or corrupted:

# On Proxmox host
cd /home/intlc/projects/proxmox/smom-dbis-138-proxmox/scripts/deployment
export VMID_EXPLORER_START=5000
export PUBLIC_SUBNET=192.168.11
./deploy-explorer.sh

# Then run fix script
cd /home/intlc/projects/proxmox
./scripts/fix-blockscout-explorer.sh

Option 3: Use explorer-monorepo

If Blockscout is not recoverable:

cd /home/intlc/projects/proxmox/explorer-monorepo
bash EXECUTE_DEPLOYMENT.sh

📋 Verification Checklist

Blockscout Explorer (VMID 5000)

  • Container VMID 5000 exists
  • Container VMID 5000 is running
  • Blockscout service is active
  • PostgreSQL is running
  • Nginx is running
  • Cloudflare tunnel is active
  • Blockscout responds on port 4000
  • Nginx proxies correctly
  • SSL certificates are valid
  • Database is accessible
  • Indexing is active
  • DNS record exists (explorer.d-bis.org)
  • Cloudflare tunnel route configured
  • Public URL accessible (https://explorer.d-bis.org)
  • API endpoints responding

explorer-monorepo

  • Backend API server is running on port 8080
  • Database connection configured
  • /health endpoint returns 200
  • /api/v2/stats endpoint works
  • /api/v1/blocks endpoint works
  • /api/v1/transactions endpoint works
  • All REST endpoints return correct status codes
  • Frontend can connect to backend API
  • Database migrations completed
  • Error handling implemented

Blockscout Explorer (VMID 5000)

  • docs/archive/status/EXPLORER_STATUS_REVIEW.md - Comprehensive status review
  • explorer-monorepo/docs/VMID_5000_DATABASE_FIX_COMMANDS.md - Database fix commands
  • explorer-monorepo/scripts/fix-blockscout-vmid5000.sh - Fix script
  • explorer-monorepo/scripts/diagnose-blockscout-crash.sh - Diagnostic script
  • scripts/start-blockscout-service.sh - Startup script

explorer-monorepo

  • explorer-monorepo/docs/ERROR_REPORT_AND_FIXES.md - Error report and fixes
  • explorer-monorepo/docs/QUICK_FIX_GUIDE.md - Quick fix guide
  • explorer-monorepo/docs/API_ANALYSIS_AND_RECOMMENDATIONS.md - API analysis
  • explorer-monorepo/docs/DEPLOYMENT_STATUS.md - Deployment status

General Explorer Documentation

  • BESU_RPC_EXPLORER_STATUS.md - Latest status report
  • docs/archive/completion/EXPLORER_RESTORATION_COMPLETE.md - Restoration notes
  • docs/archive/historical/BLOCKSCOUT_COMPREHENSIVE_ANALYSIS.md - Technical analysis

📊 Issue Statistics

Total Issues Identified: 13

By Severity:

  • 🔴 Critical: 6 issues
  • 🟠 High: 4 issues
  • 🟡 Medium: 3 issues

By Component:

  • Blockscout Explorer (VMID 5000): 7 issues
  • explorer-monorepo: 6 issues

By Status:

  • Not Working: 6 issues
  • ⚠️ Needs Investigation: 4 issues
  • ⚠️ Configuration Needed: 3 issues

🎯 Summary

Current Status: EXPLORER NOT ACCESSIBLE

Primary Issues:

  1. VMID 5000 container status unknown (cannot verify if running)
  2. Blockscout service not running (no containers/processes found)
  3. explorer-monorepo backend API server not running
  4. Database configuration issues in both systems
  5. API routing issues in explorer-monorepo

Last Known Working State: December 23, 2025 (Blockscout fully operational)

Recommended Immediate Actions:

  1. Verify VMID 5000 container status on Proxmox host
  2. Start explorer-monorepo backend server
  3. Check and fix database configurations
  4. Verify Cloudflare tunnel configuration
  5. Test all API endpoints

Priority: 🔴 HIGH - Explorer is a critical service for blockchain visibility


Last Updated: 2026-01-03
Reviewer: AI Assistant
Status: 🔴 REQUIRES IMMEDIATE ATTENTION