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.

Built With

Share this project:

Updates