1v1 pigeon combat game built on GenLayer. Players pick a class, get AI-generated action prompts each round, and fight until one hits 0 HP. Stats, wins, and pigeon unlocks are stored on-chain.
Live: https://sky-flock-arena.pages.dev/
| Frontend | React + Vite, Framer Motion, Zustand |
| Backend | Node.js, Express, Socket.io |
| Contracts | GenLayer (Python) — Bradbury Testnet |
| Wallet | MetaMask |
client/ React SPA
server/ game server (Socket.io + REST API)
contracts/ 3 GenLayer contracts (Python)
scripts/ deploy scripts, asset tools
Requires Node >= 18 and MetaMask.
npm install
cd client && npm install && cd ..
cp .env.example .env
# fill in contract addresses + private key# client/.env
VITE_SERVER_URL=http://localhost:3002npm run dev # server on :3002
cd client && npm run dev # client on :5173npm run deploy # deploys all 3, auto-updates .env
npm run deploy:profiles
npm run deploy:prompts
npm run deploy:judge| Contract | Address |
|---|---|
| PlayerProfiles | 0x540ea45316F7B6d45d19CaE4b422A73cF32345b7 |
| PigeonPromptGenerator | 0x8A396aa8fd200F73Bb55E8229a07a5EA587C75A7 |
| PigeonBattleJudge | 0xA02fdaFC7F50567F30e0786df9001f0BDad4d17F |
Chain ID 4221 · RPC https://rpc-bradbury.genlayer.com/
See DEPLOYMENT.md for hosting and full env reference.
YoneCode · GitHub