Skip to content

Repository files navigation

Eld Blockchain Explorer

Node React Vite License CI Website Stars

Eld Blockchain Explorer is the public block explorer UI for the Eld decentralized ephemeral storage protocol, built with Vite and React.

Live site: https://explorer.eld.network

Eld Blockchain Explorer home page

Disclaimer

This repository is the explorer frontend only — not the Eld protocol, consensus node, indexer, SDKs, or a wallet.

  • It reads public RPC and indexer HTTP APIs; it does not custody keys or submit transactions.
  • Displayed chain data depends on those backends and may be incomplete, delayed, or wrong.
  • The UI uses capacity provider as the product term for that role.
  • For protocol docs and the marketing site, see Documentation and eld.network.

Architecture

Browser (React SPA)
  └─ App → ExplorerAppShell → AppRoutes → pages/
       ├─ api/            shared RPC + indexer HTTP (timeout, abort)
       ├─ hooks/          data hooks built on api/
       ├─ components/     shared UI (lists, shell, footer, …)
       ├─ utils/          search resolver, formatting, helpers
       └─ config/         RPC_URL, API_URL, feature flags
              │
              ├─ VITE_RPC_URL  → Tendermint / node RPC
              └─ VITE_API_URL  → explorer / indexer API
Layer Role
src/App.js BrowserRouter entry
src/components/ExplorerAppShell.js chrome (header, theme, footer)
src/AppRoutes.js client-side routes (+ error boundary, 404)
src/pages/ route screens (home, block, tx, account, validators, pinboard, …)
src/api/ typed HTTP helpers for RPC and indexer
src/hooks/ data hooks (retry + AbortController) using src/api/
src/config/ env-backed endpoints and optional validator admin status maps

Static output is a Vite build/ folder; deploy that behind any static host / CDN.

Prerequisites

Local development

npm install
cp .env.example .env.development
cp .env.example .env.production
npm start

Dev server: http://localhost:3000. Vite loads .env.development for npm start / npm run dev.

Calling production RPC/API hosts from localhost may fail CORS; use local backends, Vite’s /rpc and /api proxies, or an allowlisted origin.

Environment variables

Variable Required Description
VITE_RPC_URL yes Tendermint / node RPC base URL (default http://localhost:26657)
VITE_API_URL yes Explorer / indexer API base URL (default http://localhost:9001)
VITE_ENABLE_VALIDATOR_ADMIN_STATUS no true to load optional per-validator admin status URLs (dev-oriented; default off)

When the flag is on, URL maps come from committed JSON:

  • src/config/validator-admin-status-urls.development.json — localhost examples for local runs
  • src/config/validator-admin-status-urls.production.json — empty by default; add production URLs here if needed

Scripts

Script Description
npm start / npm run dev Vite dev server
npm run build Production build → build/
npm run preview Serve the production build locally
npm test Vitest (single run)
npm run test:watch Vitest watch mode
npm run lint ESLint
npm run format Prettier write
npm run format:check Prettier check
npm run ci format:check → lint → tests → npm audit --omit=dev --audit-level=high → build
npm run ci

Releasing

Merges to main (and work on feature branches) do not deploy the live site. Production updates are gated by version tags and GitHub Releases:

  1. Land the changes on main and wait for CI to pass.

  2. Align package.json "version" with the release (e.g. 1.2.3), then create and push a semver tag from that commit:

    git checkout main
    git pull
    git tag v1.2.3
    git push origin v1.2.3
  3. Pushing the tag runs the Draft release workflow, which opens a draft GitHub Release (with generated notes). Nothing is deployed yet.

  4. Review the draft under Releases, edit notes if needed, then Publish release.

  5. Publishing triggers the Deploy production workflow, which builds the tagged commit and updates explorer.eld.network.

Only tags matching v*.*.* (for example v1.2.3) participate in this flow. Tags must point at a commit that is on main.

Links

License

MIT — see LICENSE.

Font files in src/fonts/ are Ioskeley Mono, licensed under the SIL Open Font License 1.1 — see src/fonts/LICENSE.

About

Blockchain explorer for the Eld network

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages