ELO Flow
On-chain Poker Game using VRF on Flow with gasless transactions
Screenshots



Problem Statement
🃏 ELO Flow is fully decentralized poker game built on the Flow blockchain, using verifiable random shuffling for each game, gasless transactions, and cross-chain data availability using Avail DA.By posting game data onto Avail DA, players can access the game data on any compatible chain and enjoy skill-based matchmaking for any poker variant.The goal was to build the ELO logic in Solidity and in Stylus for maximum compatibility
Solution
Most of the implementation was for Flow, for the contracts, frontend, and backend. Avail did not integrate out of the box so I did not include the logic for uploading the game state.Smart Contracts (Cadence)Deck management and shufflingGame state managementPlayer actions and betting logicPot distribution and winning hand calculationBackend (SST + Hono + AWS Lambda)Gasless transaction processing (blind signing)Using fcl-kms-authorizer (https://github.com/doublejumptokyo/fcl-kms-authorizer) to sign the transaction on AWS LambdaFrontendVite + React + TypescriptTelegram bot (@elo_flow_bot (https://t.me/elo_flow_bot)) for mobile accessReal-time game updatesWallet using Flow-FCL (https://github.com/onflow/fcl-js)
Hackathon
ETHGlobal Bangkok
2024
Prizes
- 🏆
Pool Prize: Build anything with Avail
Avail
Contributors
- marcuspang
26 contributions