- Add match:requestAI server handler creating matches against bot
- AI commits and reveals automatically with random choices
- Frontend generates guest address when no MetaMask is detected
- AI matches skip blockchain calls (offline test mode)
- Add 'Jouer contre l\'IA' button in LobbyScene
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Update RPSArena.sol: move bet payment to commit() instead of createMatch()
- Fix Hardhat tests to match new contract API (7/7 passing)
- Deploy updated contract to local Hardhat node (0xe7f1725...)
- Add blockchain service (server) listening to contract events
- Create matches on-chain from server matchmaking handler
- Frontend calls contract directly for commit/reveal via MetaMask
- Add Prisma DB persistence for match results and player stats
- Copy ABI to shared package for frontend/server consumption
- Update deployment docs and architecture docs
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Phase 0 foundation:
- Docker Compose with PostgreSQL, Redis, Hardhat node
- RPSArena.sol commit-reveal smart contract with tests
- Node.js + Socket.io server with matchmaking and match state machine
- Next.js + Phaser 3 frontend with Boot, Lobby, Arena, Result scenes
- Nginx Proxy Manager integration planned for jeu.cosmolan.fr
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>