2026-04-10 12:52:17 -07:00
# SolaceScan Explorer - Tiered Architecture
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
## 🚀 Quick Start - Complete Deployment
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
**Execute this single command to complete all deployment steps:**
2025-12-23 16:19:10 -08:00
```bash
2026-02-10 11:32:49 -08:00
cd ~/projects/proxmox/explorer-monorepo
bash EXECUTE_DEPLOYMENT.sh
2025-12-23 16:19:10 -08:00
```
2026-02-10 11:32:49 -08:00
## What This Does
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
1. ✅ Tests database connection
2. ✅ Runs migration (if needed)
3. ✅ Stops existing server
4. ✅ Starts server with database
5. ✅ Tests all endpoints
6. ✅ Provides status summary
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
## Manual Execution
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
If the script doesn't work, see `START_HERE.md` for step-by-step manual commands.
2025-12-23 16:19:10 -08:00
Docs: update all documentation and add overview
- README: add Frontend section, deploy script, docs links, status
- docs/README.md: new documentation overview (entry points, frontend, deployment)
- docs/EXPLORER_API_ACCESS.md: reference deploy-frontend-to-vmid5000.sh for frontend-only deploy
- docs/INDEX.md: add Frontend & Explorer section, fix Quick Start, Last Updated
- README_DEPLOYMENT: add docs/README, EXPLORER_API_ACCESS, deploy script, deployment guide
- frontend/FRONTEND_REVIEW.md: add post-review update (C1–L4 implemented)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 19:02:19 -08:00
## Frontend
2026-04-07 23:22:12 -07:00
- **Production (canonical target):** the current **Next.js standalone frontend ** in `frontend/src/` , built from `frontend/` with `npm run build` and deployed to VMID 5000 as a Node service behind nginx.
- **Canonical deploy script:** `./scripts/deploy-next-frontend-to-vmid5000.sh`
- **Canonical nginx wiring:** keep `/api` , `/api/config/*` , `/explorer-api/*` , `/token-aggregation/api/v1/*` , `/snap/` , and `/health` ; proxy `/` and `/_next/` to the frontend service using `deployment/common/nginx-next-frontend-proxy.conf` .
- **Legacy fallback only:** the static SPA (`frontend/public/index.html` + `explorer-spa.js` ) remains in-repo for compatibility, but it is no longer the preferred deployment target.
- **Architecture command center:** `frontend/public/chain138-command-center.html` — tabbed Mermaid topology (Chain 138 hub, network, stack, flows, cross-chain, cW Mainnet, off-chain, integrations). Linked from the SPA **More → Explore → Visual Command Center ** .
- **Legacy static deploy:** `./scripts/deploy-frontend-to-vmid5000.sh` (copies `index.html` and assets to `/var/www/html/` )
Docs: update all documentation and add overview
- README: add Frontend section, deploy script, docs links, status
- docs/README.md: new documentation overview (entry points, frontend, deployment)
- docs/EXPLORER_API_ACCESS.md: reference deploy-frontend-to-vmid5000.sh for frontend-only deploy
- docs/INDEX.md: add Frontend & Explorer section, fix Quick Start, Last Updated
- README_DEPLOYMENT: add docs/README, EXPLORER_API_ACCESS, deploy script, deployment guide
- frontend/FRONTEND_REVIEW.md: add post-review update (C1–L4 implemented)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 19:02:19 -08:00
- **Frontend review & tasks:** [frontend/FRONTEND_REVIEW.md ](frontend/FRONTEND_REVIEW.md ), [frontend/FRONTEND_TASKS_AND_REVIEW.md ](frontend/FRONTEND_TASKS_AND_REVIEW.md )
2026-02-10 11:32:49 -08:00
## Documentation
2025-12-23 16:19:10 -08:00
Docs: update all documentation and add overview
- README: add Frontend section, deploy script, docs links, status
- docs/README.md: new documentation overview (entry points, frontend, deployment)
- docs/EXPLORER_API_ACCESS.md: reference deploy-frontend-to-vmid5000.sh for frontend-only deploy
- docs/INDEX.md: add Frontend & Explorer section, fix Quick Start, Last Updated
- README_DEPLOYMENT: add docs/README, EXPLORER_API_ACCESS, deploy script, deployment guide
- frontend/FRONTEND_REVIEW.md: add post-review update (C1–L4 implemented)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 19:02:19 -08:00
- **`docs/README.md` ** — Documentation overview and index
- **`docs/EXPLORER_API_ACCESS.md` ** — API access, 502 fix, CSP, frontend deploy
- **`START_HERE.md` ** — Quick start with all commands
- **`COMPLETE_DEPLOYMENT.md` ** — Detailed deployment steps
- **`DEPLOYMENT_COMPLETE_FINAL.md` ** — Final status report
- **`README_DEPLOYMENT.md` ** — Deployment quick reference
- **`deployment/DEPLOYMENT_GUIDE.md` ** — Full LXC/Nginx/Cloudflare deployment guide
- **`docs/INDEX.md` ** — Bridge and operations doc index
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
## Architecture
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
- **Track 1 (Public):** RPC Gateway - No authentication required
- **Track 2 (Approved):** Indexed Explorer - Requires authentication
- **Track 3 (Analytics):** Analytics Dashboard - Requires Track 3+
- **Track 4 (Operator):** Operator Tools - Requires Track 4 + IP whitelist
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
## Configuration
- **Database User:** `explorer`
- **Database Password:** `L@ker$2010`
- **RPC URL:** `http://192.168.11.250:8545`
- **Chain ID:** `138`
- **Port:** `8080`
2025-12-23 16:19:10 -08:00
2026-03-02 12:14:13 -08:00
## Reusable libs (extraction)
Reusable components live under `backend/libs/` and `frontend/libs/` and may be split into separate repos and linked via **git submodules ** . Clone with submodules:
```bash
git clone --recurse-submodules <repo-url>
# or after clone:
git submodule update --init --recursive
```
See [docs/REUSABLE_COMPONENTS_EXTRACTION_PLAN.md ](docs/REUSABLE_COMPONENTS_EXTRACTION_PLAN.md ) for the full plan.
## Testing
- **All unit/lint:** `make test` — backend `go test ./...` and frontend `npm test` (lint + type-check).
- **Backend:** `cd backend && go test ./...` — API tests run without a real DB; health returns 200 or 503, DB-dependent endpoints return 503 when DB is nil.
- **Frontend:** `cd frontend && npm run build` or `npm test` — Next.js build (includes lint) or lint + type-check only.
2026-04-10 12:52:17 -07:00
- **E2E:** `make test-e2e` or `npm run e2e` from repo root — Playwright tests against https://blockscout.defi-oracle.io by default; use `EXPLORER_URL=http://localhost:3000` for local.
2026-03-02 12:14:13 -08:00
2026-02-10 11:32:49 -08:00
## Status
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
✅ All implementation complete
✅ All scripts ready
✅ All documentation complete
2026-03-02 12:14:13 -08:00
✅ Frontend: C1– C4, M1– M4, H4, H5, L2, L4 done; H1/H2/H3 (escapeHtml/safe href) in place; optional L1, L3 remain
✅ CI: backend + frontend tests; lint job runs `go vet` , `npm run lint` , `npm run type-check`
✅ Tests: `make test` , `make test-e2e` , `make build` all pass
2025-12-23 16:19:10 -08:00
2026-02-10 11:32:49 -08:00
**Ready for deployment!**