Source for the ethscriptions.com website — a Next.js app for browsing ethscriptions and the Ethscriptions AppChain.
- Next.js (Pages Router)
- wagmi + viem + RainbowKit
- Tailwind + DaisyUI
- TypeScript
Requires Node >=24 and npm.
npm install
npm startThe dev server runs on http://localhost:3000. No setup needed — defaults in .env (committed) make the app talk to the official Ethscriptions infrastructure out of the box.
To override anything (different network, your own indexer, WalletConnect project ID, analytics), create a .env.local file with the variables you want to change. .env.local is gitignored.
All app config lives in .env — the single source of truth for service URLs and feature flags. The most relevant variables:
| Var | Purpose |
|---|---|
NEXT_PUBLIC_NETWORK |
Target chain name (any key from wagmi/chains) |
NEXT_PUBLIC_V2_API_BASE_URI |
Ethscriptions v2 API |
NEXT_PUBLIC_EXPLORER_BASE_URI |
BlockScout-style explorer |
NEXT_PUBLIC_DOCS_BASE_URI |
Docs site (linked from header/landing) |
NEXT_PUBLIC_WEBSITE_BASE_URI |
Canonical site URL (used for the OG image) |
NEXT_PUBLIC_MAINNET_RPC_URL / NEXT_PUBLIC_SEPOLIA_RPC_URL |
Ethereum L1 RPC endpoints used by wagmi |
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID |
Required for mobile/QR wallet flows. Get one at cloud.reown.com |
NEXT_PUBLIC_RPC_POLLING_INTERVAL |
Wagmi polling interval (ms) |
NEXT_PUBLIC_ENABLE_VERCEL_ANALYTICS |
Set to true to enable Vercel Web Analytics |
ETHSCRIPTIONS_MAINNET_RPC_URL |
Only used by scripts/refresh-collections.py |
| Command | Description |
|---|---|
npm start / npm run dev |
Dev server |
npm run build |
Production build |
npm run serve |
Serve the production build |
npm run lint |
ESLint |
npm run check-types |
TypeScript check |
npm run format |
Prettier |