- Backend REST/gateway/track routes, analytics, Blockscout proxy paths. - Frontend wallet and liquidity surfaces; MetaMask token list alignment. - Deployment docs, verification scripts, address inventory updates. Check: go build ./... under backend/ (pass). Made-with: Cursor
95 lines
6.2 KiB
Markdown
95 lines
6.2 KiB
Markdown
# Live Deployment Map
|
|
|
|
Current production deployment map for `explorer.d-bis.org`.
|
|
|
|
This file is the authoritative reference for the live explorer stack as of `2026-04-05`. It supersedes the older monolithic deployment notes in this directory when the question is "what is running in production right now?"
|
|
|
|
## Public Entry Point
|
|
|
|
- Public domain: `https://explorer.d-bis.org`
|
|
- Primary container: VMID `5000` (`192.168.11.140`, `blockscout-1`)
|
|
- Public edge: nginx on VMID `5000`
|
|
|
|
## VMID 5000 Internal Topology
|
|
|
|
| Surface | Internal listener | Owner | Public paths |
|
|
|---|---:|---|---|
|
|
| nginx | `80`, `443` | VMID `5000` | terminates public traffic |
|
|
| Next frontend | `127.0.0.1:3000` | `solacescanscout-frontend.service` | `/`, `/bridge`, `/routes`, `/more`, `/wallet`, `/liquidity`, `/pools`, `/analytics`, `/operator`, `/system`, `/weth` |
|
|
| Explorer config/API | `127.0.0.1:8081` | `explorer-config-api.service` | `/api/config/*`, `/explorer-api/v1/*` |
|
|
| Blockscout | `127.0.0.1:4000` | existing Blockscout stack | `/api/v2/*` and Blockscout-backed explorer data |
|
|
| Token aggregation | `127.0.0.1:3001` | token-aggregation service | `/token-aggregation/api/v1/*` |
|
|
| Static config assets | `/var/www/html/config`, `/var/www/html/token-icons` | nginx static files | `/config/*`, `/token-icons/*` |
|
|
|
|
## Canonical Deploy Scripts
|
|
|
|
| Component | Canonical deploy path | Notes |
|
|
|---|---|---|
|
|
| Next frontend | [`deploy-next-frontend-to-vmid5000.sh`](../scripts/deploy-next-frontend-to-vmid5000.sh) | Builds the Next standalone bundle and installs `solacescanscout-frontend.service` on port `3000` |
|
|
| Explorer config assets | [`deploy-explorer-config-to-vmid5000.sh`](../scripts/deploy-explorer-config-to-vmid5000.sh) | Publishes token list, networks, capabilities, topology, verification example, and token icons |
|
|
| Explorer config/API backend | [`deploy-explorer-ai-to-vmid5000.sh`](../scripts/deploy-explorer-ai-to-vmid5000.sh) | Builds and installs `explorer-config-api.service` on port `8081` and normalizes nginx `/explorer-api/v1/*` routing |
|
|
|
|
## Relay Topology
|
|
|
|
CCIP relay workers do not run inside VMID `5000`. They run on host `r630-01` and are consumed by the explorer API through relay-health probes.
|
|
|
|
| Service file | Profile | Port | Current role |
|
|
|---|---|---:|---|
|
|
| [`ccip-relay.service`](../../config/systemd/ccip-relay.service) | `mainnet-weth` | `9860` | Mainnet WETH lane, intentionally paused |
|
|
| [`ccip-relay-mainnet-cw.service`](../../config/systemd/ccip-relay-mainnet-cw.service) | `mainnet-cw` | `9863` | Mainnet cW lane |
|
|
| [`ccip-relay-bsc.service`](../../config/systemd/ccip-relay-bsc.service) | `bsc` | `9861` | BSC lane |
|
|
| [`ccip-relay-avax.service`](../../config/systemd/ccip-relay-avax.service) | `avax` | `9862` | Avalanche lane |
|
|
| [`ccip-relay-avax-cw.service`](../../config/systemd/ccip-relay-avax-cw.service) | `avax-cw` | `9864` | Avalanche cW lane |
|
|
| [`ccip-relay-avax-to-138.service`](../../config/systemd/ccip-relay-avax-to-138.service) | `avax-to-138` | `9865` | Reverse Avalanche to Chain 138 lane |
|
|
|
|
The explorer backend reads these through `CCIP_RELAY_HEALTH_URL` or `CCIP_RELAY_HEALTH_URLS`; see [`backend/api/rest/README.md`](../backend/api/rest/README.md).
|
|
|
|
## Public Verification Points
|
|
|
|
The following endpoints currently describe the live deployment contract:
|
|
|
|
- `https://explorer.d-bis.org/`
|
|
- `https://explorer.d-bis.org/bridge`
|
|
- `https://explorer.d-bis.org/routes`
|
|
- `https://explorer.d-bis.org/liquidity`
|
|
- `https://explorer.d-bis.org/api/config/capabilities`
|
|
- `https://explorer.d-bis.org/config/CHAIN138_RPC_CAPABILITIES.json`
|
|
- `https://explorer.d-bis.org/explorer-api/v1/features`
|
|
- `https://explorer.d-bis.org/explorer-api/v1/track1/bridge/status`
|
|
- `https://explorer.d-bis.org/explorer-api/v1/mission-control/stream`
|
|
- `https://explorer.d-bis.org/token-aggregation/api/v1/routes/matrix`
|
|
|
|
## Recommended Rollout Order
|
|
|
|
When a change spans multiple explorer surfaces, use this order:
|
|
|
|
1. Deploy static config assets with [`deploy-explorer-config-to-vmid5000.sh`](../scripts/deploy-explorer-config-to-vmid5000.sh).
|
|
2. Deploy the explorer config/API backend with [`deploy-explorer-ai-to-vmid5000.sh`](../scripts/deploy-explorer-ai-to-vmid5000.sh).
|
|
3. Deploy the Next frontend with [`deploy-next-frontend-to-vmid5000.sh`](../scripts/deploy-next-frontend-to-vmid5000.sh).
|
|
4. If nginx routing changed, verify the VMID `5000` nginx site before reload.
|
|
5. Run [`check-explorer-health.sh`](../scripts/check-explorer-health.sh) against the public domain.
|
|
6. Confirm relay visibility on `/explorer-api/v1/track1/bridge/status` and mission-control SSE.
|
|
|
|
When a change spans relays as well:
|
|
|
|
1. Deploy or restart the relevant `ccip-relay*.service` unit on `r630-01`.
|
|
2. Ensure the explorer backend relay probe env still matches the active host ports.
|
|
3. Recheck `/explorer-api/v1/track1/bridge/status` and `/explorer-api/v1/mission-control/stream`.
|
|
|
|
## Current Gaps And Legacy Footguns
|
|
|
|
- Older docs in this directory still describe a monolithic `explorer-api.service` plus `explorer-frontend.service` package. That is no longer the production deployment shape.
|
|
- [`ALL_VMIDS_ENDPOINTS.md`](../../docs/04-configuration/ALL_VMIDS_ENDPOINTS.md) is still correct at the public ingress level, but it intentionally compresses the explorer into `:80/:443` and Blockscout `:4000`. Use this file for the detailed internal listener split.
|
|
- There is no single one-shot script in this repo that fully deploys Blockscout, nginx, token aggregation, explorer-config-api, Next frontend, and host-side relays together. Production is currently assembled from the component deploy scripts above.
|
|
- `mainnet-weth` is deployed but intentionally paused until that bridge lane is funded again.
|
|
- `Etherlink` and `XDC Zero` remain separate bridge programs; they are not part of the current CCIP relay fleet described here.
|
|
|
|
## Source Of Truth
|
|
|
|
Use these in order:
|
|
|
|
1. This file for the live explorer deployment map.
|
|
2. [`ALL_VMIDS_ENDPOINTS.md`](../../docs/04-configuration/ALL_VMIDS_ENDPOINTS.md) for VMID, IP, and public ingress inventory.
|
|
3. The deploy scripts themselves for exact install behavior.
|
|
4. [`check-explorer-health.sh`](../scripts/check-explorer-health.sh) plus [`check-explorer-e2e.sh`](../../scripts/verify/check-explorer-e2e.sh) for public verification.
|