- 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.
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:
- Blockscout Explorer (VMID 5000) - Docker-based blockchain explorer
- explorer-monorepo - Custom Go/Next.js explorer implementation
- 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.orgreturns HTTP 404 or Cloudflare Error 530 - API endpoint
/api/v2/statsis not accessible
Possible Causes:
- Container VMID 5000 is not running
- Blockscout service stopped or crashed
- Nginx configuration issue
- Cloudflare tunnel routing issue
- DNS configuration issue
- 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:
- Explorer user password mismatch
- Database not created
- Insufficient privileges
- 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 expectsnumber)miner.hash(Frontend expectsmineras string)
Blockscout Transaction Structure:
from.hash(Frontend expectsfromas string)to.hash(Frontend expectstoas string)statusas string "ok"/"error" (Frontend expects number)block_numbermay 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)
-
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
- If container exists but stopped:
-
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
-
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)
-
Fix Database Configuration 🟠
- Set correct database credentials
- Test database connection
- Run migrations if needed
-
Fix API Routing Issues 🟠
- Fix REST endpoint routing
- Implement proper health check endpoint
- Test all API endpoints
-
Check Cloudflare Tunnel 🟠
pct exec 5000 -- systemctl status cloudflared pct exec 5000 -- journalctl -u cloudflared -n 50
Medium Priority (Priority 3)
-
Implement Data Adapters 🟡
- Create adapter functions for Blockscout data
- Handle null/undefined values
- Map status strings to numbers
-
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
/healthendpoint returns 200/api/v2/statsendpoint works/api/v1/blocksendpoint works/api/v1/transactionsendpoint works- All REST endpoints return correct status codes
- Frontend can connect to backend API
- Database migrations completed
- Error handling implemented
📚 Related Documentation
Blockscout Explorer (VMID 5000)
docs/archive/status/EXPLORER_STATUS_REVIEW.md- Comprehensive status reviewexplorer-monorepo/docs/VMID_5000_DATABASE_FIX_COMMANDS.md- Database fix commandsexplorer-monorepo/scripts/fix-blockscout-vmid5000.sh- Fix scriptexplorer-monorepo/scripts/diagnose-blockscout-crash.sh- Diagnostic scriptscripts/start-blockscout-service.sh- Startup script
explorer-monorepo
explorer-monorepo/docs/ERROR_REPORT_AND_FIXES.md- Error report and fixesexplorer-monorepo/docs/QUICK_FIX_GUIDE.md- Quick fix guideexplorer-monorepo/docs/API_ANALYSIS_AND_RECOMMENDATIONS.md- API analysisexplorer-monorepo/docs/DEPLOYMENT_STATUS.md- Deployment status
General Explorer Documentation
BESU_RPC_EXPLORER_STATUS.md- Latest status reportdocs/archive/completion/EXPLORER_RESTORATION_COMPLETE.md- Restoration notesdocs/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:
- VMID 5000 container status unknown (cannot verify if running)
- Blockscout service not running (no containers/processes found)
- explorer-monorepo backend API server not running
- Database configuration issues in both systems
- API routing issues in explorer-monorepo
Last Known Working State: December 23, 2025 (Blockscout fully operational)
Recommended Immediate Actions:
- Verify VMID 5000 container status on Proxmox host
- Start explorer-monorepo backend server
- Check and fix database configurations
- Verify Cloudflare tunnel configuration
- 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