# Lux Network Explorer - AI Knowledge Base **Last Updated**: 2024-12-24 **Project**: explore **Organization**: luxfi **Upstream**: [blockscout/frontend](https://github.com/blockscout/frontend) ## Project Overview Lux Network Explorer is a fork of Blockscout Frontend, customized for the Lux blockchain ecosystem. It provides a web-based interface for exploring blocks, transactions, addresses, tokens, and smart contracts on Lux Network chains (C-Chain, Zoo chains). ## Essential Commands **The package manager is pnpm** (`packageManager: pnpm@10.11.0`, only `pnpm-lock.yaml` exists). `yarn` in older notes below is wrong — `yarn install` would write a second lockfile. ```bash # Development — THE dev command pnpm dev # tools/scripts/dev.sh, serves on $NEXT_PUBLIC_APP_PORT (3055), NOT 3000 pnpm build:next # Production build WITH assets/sprite/envs.js pnpm start # Start production server # Linting & Testing pnpm vitest run # Unit suite — the only gate in .hanzo/workflows/ci.yml pnpm lint:eslint # ESLint (repo-wide is red on main; keep YOUR files clean) pnpm lint:tsc # TypeScript check (also red on main — see .hanzo/workflows/ci.yml) pnpm test:pw # Playwright ``` ### What `pnpm dev` actually does `tools/scripts/dev.sh` deletes and regenerates the runtime env bundle each start: 1. `rm -rf public/assets/{configs,multichain,envs.js}` 2. `download_assets.sh` — skips every unset `NEXT_PUBLIC_*` asset URL, so it is offline-safe with the committed local env files 3. `build_sprite.sh` — needs `jq` and `md5sum` (not macOS defaults) 4. **`make_envs_script.sh` → `public/assets/envs.js`** — this is the file the browser reads. `pages/_document.tsx` loads it as a blocking `