Inspiration
We wanted to learn about working with Chainlink VRF and Automation, as well as building a full-stack project and setting up the infrastructure ourselves.
What it does
Keno is a lottery form where participants get to choose whether they want to have a high probability of winning or the chance to win big. Players select a keno level (1 to 11) and pick their lucky numbers (as many as their keno level) and enter the contract. For each day, if enough players have entered by 22:30 UTC, a Chainlink keeper will request 20 unique random numbers from a VRF contract which are then mapped to the range [1, 70]. The keeper resets the contract a short time later, and now players can request to payout potential winnings or enter for the subsequent round.
How we built it
We wrote the smart contract in solidity and deployed it on polygon mumbai. We are using a typescript front end which we forked from the Moralis migration demo from v1 to v2. We are also hosting our own Moralis parse server and a mongodb database.
Challenges we ran into
Moralis recently removed support for dedicated servers, which meant that we had to set up our own parse server. This took some time and we didn't get everything working properly causing the frontend to have only partial functionality.
Accomplishments that we're proud of
The smart contract works as expected with the VRF and keeper integrations.
What we learned
Working with Chainlink VRF and Automation, hosting a dedicated Moralis server.
What's next for kenolink
Finishing building a proper frontend and fixing the Moralis parse server.
Log in or sign up for Devpost to join the conversation.