/bridge showed CONNECTED CHAINS 14, BRIDGE ROUTES 4, BRIDGE SIGNERS 5, ACTIVE
ROUTES 4 — the same four values on lux, hanzo and zoo, while its only backing
RPC 404'd twice per page load. Not one was measured:
* Connected Chains counted the keys of CHAIN_LABELS, a hardcoded lookup table,
plus an L1 list that comes back empty. It is 14 because the map has 14
entries.
* Bridge Routes and Active Routes counted four pairs unshifted into an array
three lines above, each hardcoded status: 'active'.
* Bridge Signers asked the B-Chain and, when that failed, printed the P-Chain
VALIDATOR count under a signer label. A real number, under the wrong name —
the worst of the four, because it moves.
The B-Chain is not served on any prefix: api.<brand>.network answers 404 to
/ext/bc/B/rpc and to /v1/bc/B/rpc alike, so there is no live bridge data to
show and the page has been reporting constants as measurements. Fixing the
path would have moved the 404, not the lie.
So the cards are gone, and with them lib/api/bchain, whose whole job was to
swallow that failure into zeroes. That leaves lib/api/luxnet with no caller —
the P-Chain hooks go through the /v1/pchain proxy, and getPChain/getInfo/
getHealth were re-exported and never called — so it goes too, and the luxnet
dependency with it: 889 lines of lockfile, an elliptic-curve SDK this app
never used at runtime. The retired /ext/ prefix now has no caller here at all.
What stays is what is true: the routes table, C/P/X atomic swaps marked active
and L1 transfers marked coming soon, and the paragraph that says so.
Measured, 1440x900: before, two POST https://api.lux.network/ext/bc/B/rpc per
load, both 404, four stat cards reading 14/4/5/4. After, zero /ext/ or /bc/
requests, zero stat cards, the four route rows unchanged.
Also: name every field when a broadcast becomes a block. toApiBlock spread the
raw EVMBlock and renamed three keys, so gas_used, gas_limit, base_fee_per_gas
and parent_hash stayed camelCase and arrived undefined — a live-pushed row
rendered 0 gas beside REST rows showing the real number, the same block reading
two ways depending on how it got here. It now builds the API shape explicitly,
field for field, matching formatBlock in luxfi/indexer.
DEPRECATED — see ~/work/lux/explorer/
The standalone Next.js frontend in this repo is no longer deployed. Its build output is embedded directly into the Lux Explorer Go binary (
ghcr.io/luxfi/explorer:1.2.1) viago:embed. Run that single binary in production.This repo is preserved as the source of the embedded SPA assets. Updates to the UI ship via a rebuild of the explorer image, not by deploying this Next.js app separately.
Canonical deploy:
~/work/lux/explorer/(Go binary, single process, indexer + GraphQL + SPA, port 8090).
Lux Explore frontend (legacy)
Frontend application for Lux Network blockchain explorer
Running and configuring the app
App is distributed as a docker image. Here you can find information about the package and its recent releases.
You can configure your app by passing necessary environment variables when starting the container. See full list of ENVs and their description here.
docker run -p 3000:3000 --env-file <path-to-your-env-file> ghcr.io/blockscout/frontend:latest
Alternatively, you can build your own docker image and run your app from that. Please follow this guide.
For more information on migrating from the previous frontend, please see the frontend migration docs.
Contributing
See our Contribution guide for pull request protocol. We expect contributors to follow our code of conduct when submitting code or comments.
Resources
- App ENVs list
- Contribution guide
- Making a custom build
- Frontend migration guide
- Manual deployment guide with backend and microservices
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.