Last Updated: 2025-11-05 Project: Lux Testnet Faucet Stack: Node.js, TypeScript, React → Next.js, Solidity, Foundry
Modern faucet for distributing test tokens on Lux testnets. Supports multiple EVM chains with rate limiting, captcha verification, and configurable drip amounts.
pnpm dev # Start backend with tsx watch (port 8000)
pnpm dev:ui # Start frontend (port 3000)
pnpm build # Build everything
pnpm generate # Generate new wallet keycd contracts
forge build # Compile
forge test # Run tests
forge test --gas-report # Gas usage- Backend: Express + TypeScript (
/server.ts) - Frontend: React (CRA) → migrating to Next.js 15
- Smart Contracts: Solidity + Foundry (
/contracts/) - Package Manager: pnpm (workspace)
- Dev Tools: tsx (not nodemon ✅)
- Node.js 17+, Express, TypeScript
- React 18, web3.js v1, ethers v5
- Solidity 0.8.28, Foundry
- pnpm workspace
- Next.js 15, viem v2, wagmi v2
- TailwindCSS + shadcn/ui
- Generate wallet:
pnpm generate - Update
.envwith keys and ReCaptcha secret - Start backend:
pnpm dev - Start frontend:
pnpm dev:ui - Deploy contracts:
cd contracts && forge script ...
This file (LLM.md) is symlinked as:
.AGENTS.mdCLAUDE.mdQWEN.mdGEMINI.md
All files reference the same knowledge base. Updates here propagate to all AI systems.
- ALWAYS update LLM.md with significant discoveries
- NEVER commit symlinked files (.AGENTS.md, CLAUDE.md, etc.) - they're in .gitignore
- NEVER create random summary files - update THIS file
Note: This file serves as the single source of truth for all AI assistants working on this project.