Files
proxmox/docs/04-configuration/verification-evidence/SOLACESCANSCOUT_CONNECTIONS_FULL_TREE.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- 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>
2026-02-12 15:46:57 -08:00

9.1 KiB
Raw Permalink Blame History

SolaceScanScout Explorer — Full Connection & Dependency Tree

Last Updated: 2026-02-09
Status: Evaluation / Reference
Scope: All connections, dependencies, and factors affecting the explorer SolaceScanScout (explorer.d-bis.org)


1. Identity & Deployment Model

SolaceScanScout (brand)
├── Live production site: https://explorer.d-bis.org
│   ├── Served by: Blockscout stack on VMID 5000 (192.168.11.140)
│   ├── UI: Custom SolaceScanScout branding (index.html from explorer-monorepo/frontend/public)
│   └── API: Blockscout API (ports 80 web, 4000 API)
└── Codebase / alternate stack: explorer-monorepo
    ├── Tiered architecture (Track 14): Go API, Next.js frontend, indexer, virtual-banker
    ├── Docker Compose: postgres, elasticsearch, redis, indexer, api, frontend, virtual-banker-*
    └── Can be deployed to VMID 5000 (e.g. deploy-frontend-to-vmid5000.sh) or run standalone

Canonical: The live explorer is Blockscout on VMID 5000 with SolaceScanScout-branded frontend. The explorer-monorepo is the source of branding and an alternative tiered stack.


2. Full Dependency Tree (Top-Down)

Internet (user)
│
├─ DNS: explorer.d-bis.org → 76.53.10.36 (Cloudflare proxied)
│
├─ Edge: UDM Pro (76.53.10.34)
│   └─ Port forward: 76.53.10.36:80, 76.53.10.36:443 → 192.168.11.167:80, :443
│
├─ NPMplus #1 (LXC VMID 10233)
│   ├─ IP: 192.168.11.167 (eth1; only this NIC used for port forward)
│   ├─ Role: Reverse proxy + SSL (Let's Encrypt for explorer.d-bis.org)
│   └─ Proxy: explorer.d-bis.org → http://192.168.11.140:80 (web), :4000 (API as needed)
│
└─ VMID 5000 — blockscout-1 (LXC on r630-02)
    ├─ IP: 192.168.11.140 (fixed; config/ip-addresses.conf: IP_BLOCKSCOUT)
    ├─ Host: r630-02 (Proxmox 192.168.11.12)
    ├─ Storage: LXC on thin pool (thin1 or thin5 after migration — see BLOCKSCOUT_FIX_RUNBOOK)
    │
    ├─ Services on 5000:
    │   ├─ Nginx (or similar): serves / from /var/www/html (SolaceScanScout index.html), proxies /api to Blockscout
    │   ├─ Blockscout (Docker): web + API (ports 80, 4000)
    │   └─ PostgreSQL (Docker, Blockscout stack): DB for indexer/explorer data
    │
    ├─ Outbound dependencies (from VMID 5000):
    │   ├─ RPC (Chain 138): ETHEREUM_JSONRPC_HTTP_URL → 192.168.11.221:8545 (VMID 2201, besu-rpc-public-1)
    │   │   └─ Updated 2026-01-30 from 192.168.11.250 (VMID 2500 destroyed) to 192.168.11.221
    │   └─ (Optional) Cloudflare Tunnel: tunnel-config.yml can point explorer.d-bis.org → localhost:80
    │       └─ If tunnel runs on 5000, it can replace or complement NPMplus path
    │
    └─ Internal (same host):
        └─ Blockscout ↔ PostgreSQL (Docker network; hostname `postgres`, port 5432)

3. Connection Matrix

From To Protocol / Port Purpose
User 76.53.10.36:443 HTTPS Public access to explorer.d-bis.org
UDM Pro 192.168.11.167:80/443 TCP Port forward for NPMplus #1
NPMplus #1 192.168.11.140:80 HTTP Proxy explorer web
NPMplus #1 192.168.11.140:4000 HTTP Proxy Blockscout API (if configured)
VMID 5000 (Blockscout) 192.168.11.221:8545 HTTP Chain 138 RPC (block/tx indexing)
VMID 5000 (Blockscout) 192.168.11.221:8546 WS Chain 138 WebSocket (if used)
Blockscout container postgres:5432 TCP Database (Docker network)

4. Factors Affecting SolaceScanScout

4.1 Network & Routing

Factor Impact Reference
DNS (explorer.d-bis.org → 76.53.10.36) Must resolve; Cloudflare proxied E2E runbook, NEXT_STEPS_RUN_*
UDM Pro port forward 76.53.10.36 → 192.168.11.167 If broken, no public access NETWORK_CONFIGURATION_MASTER.md
NPMplus proxy host for explorer.d-bis.org Must point to 192.168.11.140:80 (and optionally :4000) RPC_ENDPOINTS_MASTER.md, CLOUDFLARE_ROUTING_MASTER.md
SSL (Let's Encrypt) for explorer.d-bis.org Applied in NPMplus; avoid "connection isn't private" NEXT_STEPS_OPERATOR.md, REMAINING_TASKS_RUN_*

4.2 Host & Storage (VMID 5000)

Factor Impact Reference
r630-02 (192.168.11.12) up LXC 5000 must be running OPERATIONAL_RUNBOOKS.md
Thin pool (thin1) full "No space left on device", Blockscout/DB fail BLOCKSCOUT_FIX_RUNBOOK.md — migrate to thin5
LXC 5000 start/stop Explorer offline when stopped pct start/stop 5000

4.3 Blockscout Stack (inside VMID 5000)

Factor Impact Reference
Docker: blockscout, postgres Indexing and API depend on both BLOCKSCOUT_FIX_RUNBOOK.md
PostgreSQL reachable as postgres Blockscout logs "postgres:5432: non-existing domain - :nxdomain" if broken BLOCKSCOUT_FIX_RUNBOOK.md
ECTO_USE_SSL / DATABASE_URL sslmode Migrations and runtime need sslmode=disable if DB has no SSL fix-blockscout-ssl-and-migrations.sh
ETHEREUM_JSONRPC_HTTP_URL Must point to working RPC (192.168.11.221:8545); wrong/down RPC → sync stop SOLACESCANSCOUT_REVIEW.md

4.4 RPC (Chain 138)

Factor Impact Reference
VMID 2201 (192.168.11.221) RPC up Blockscout indexer needs live RPC SOLACESCANSCOUT_REVIEW.md (fix applied 2026-01-30)
Block production (validators) Chain must be producing blocks for new data verify-explorer-and-block-production.sh, monitor-blockchain-health.sh

4.5 Frontend / Branding

Factor Impact Reference
/var/www/html/index.html on VMID 5000 SolaceScanScout branding; served at / deploy-frontend-to-vmid5000.sh, fix-nginx-serve-custom-frontend.sh
Nginx config (e.g. /etc/nginx/sites-available/blockscout) Root path must serve custom frontend; /api → Blockscout deploy-frontend-to-vmid5000.sh

4.6 Optional: explorer-monorepo (Tiered Stack)

Factor Impact Reference
EXECUTE_DEPLOYMENT.sh / deploy-tiered-architecture.sh Runs migrations, backend, tests (DB, Redis, RPC) explorer-monorepo/README.md
.env (explorer-monorepo): DB_*, RPC_URL, JWT_SECRET Tiered API and indexer use these ENVIRONMENT_TEMPLATE.env, RPC_URL=http://192.168.11.221:8545
Docker Compose (postgres, redis, elasticsearch, indexer, api, frontend) Full stack alternative to Blockscout; not required for live site deployment/docker-compose.yml

5. Verification Scripts & Docs

Script / Doc Purpose
scripts/verify/verify-explorer-and-block-production.sh Explorer HTTPS, Blockscout API, RPC, block production (LAN for API/block)
scripts/verify/verify-end-to-end-routing.sh DNS, SSL, HTTPS for explorer.d-bis.org (optional Blockscout API; SKIP_BLOCKSCOUT_API=1 off-LAN)
explorer-monorepo/scripts/e2e-test-explorer.sh Full E2E for explorer (SolaceScanScout content, APIs) from LAN
scripts/verify-all-systems.sh Includes explorer homepage check (SolaceScanScout | Blockscout | <!DOCTYPE)
docs/03-deployment/BLOCKSCOUT_FIX_RUNBOOK.md 502, DB, migrations, thin pool, SSL, Forge verification
docs/04-configuration/SOLACESCANSCOUT_REVIEW.md Navigation, sync status, RPC fix (250→2201), recommendations
docs/05-network/E2E_CLOUDFLARE_DOMAINS_RUNBOOK.md E2E and Blockscout completion notes

6. Summary Tree (One-Page)

SolaceScanScout (explorer.d-bis.org)
│
├─ Public path
│   DNS → 76.53.10.36 → UDM Pro → 192.168.11.167 (NPMplus #1) → 192.168.11.140:80/4000
│
├─ VMID 5000 (192.168.11.140, r630-02)
│   ├─ Nginx + /var/www/html (SolaceScanScout index.html)
│   ├─ Blockscout (Docker): web + API
│   ├─ PostgreSQL (Docker): Blockscout DB
│   └─ Depends on: RPC 192.168.11.221:8545 (VMID 2201)
│
├─ Codebase: explorer-monorepo
│   ├─ Branding & custom frontend (deploy to 5000 via deploy-frontend-to-vmid5000.sh)
│   └─ Optional full stack: Docker Compose (postgres, redis, es, indexer, api, frontend, virtual-banker)
│
└─ Config / source of truth
    ├─ config/ip-addresses.conf (IP_BLOCKSCOUT=192.168.11.140, BLOCKSCOUT_API_PORT=4000)
    ├─ docs/11-references/NETWORK_CONFIGURATION_MASTER.md
    └─ docs/04-configuration/RPC_ENDPOINTS_MASTER.md (explorer.d-bis.org, VMID 5000)

7. Known Issues & Fixes (from docs)

Issue Fix
Sync stopped (e.g. Jan 15, 2026) Point Blockscout RPC to working node (192.168.11.221); see SOLACESCANSCOUT_REVIEW.md
502 / DB unreachable BLOCKSCOUT_FIX_RUNBOOK: fix-blockscout-ssl-and-migrations.sh, postgres DNS/connectivity
No space left on device Migrate VMID 5000 to thin5 (BLOCKSCOUT_FIX_RUNBOOK)
Explorer SSL warning NPMplus: Let's Encrypt for explorer.d-bis.org (NEXT_STEPS_OPERATOR.md)
Blockscout API unreachable off-LAN Use SKIP_BLOCKSCOUT_API=1 for E2E or run verify-explorer-and-block-production from LAN

Last updated: 2026-02-09
Related: SOLACESCANSCOUT_REVIEW.md, BLOCKSCOUT_FIX_RUNBOOK.md, NETWORK_CONFIGURATION_MASTER.md, E2E_CLOUDFLARE_DOMAINS_RUNBOOK.md