Reflecting on the Lottery L1 testnet: Achievements and Future Prospects
Earlier this week, ZkNoid wrapped up the open beta testing phase of our latest game — Lottery L1. Over the course of two weeks, we witnessed an overwhelming surge of interest and support from our incredible community and the broader Mina ecosystem.
Thanks to your unwavering dedication, this testnet has emerged as the largest community initiative that ZkNoid has ever hosted. Today, we’re excited to share not only the impressive statistics from this experience but also our team’s reflections and the valuable enhancements we’ve implemented as a result of your feedback.
Let’s dive into the details and explore what we’ve accomplished together!
Lottery Game Overview
At the heart of Lottery L1 lies its commitment to fairness, achieved through zk-proofs that ensure the integrity of every action — from ticket purchases to the unpredictable generation of winning numbers. We guarantee that each lottery round is not only exciting but also transparent and trustworthy by generating random winning numbers using ZKON’s zkOracle.
Lottery L1 combines user luck with cutting-edge technology to provide an engaging, fair, and transparent gaming experience.
Players purchase tickets for 10 $MINA, selecting six numbers from 1 to 9. Each round lasts 24 hours, culminating in the generation of a random six-digit winning number. Players can claim rewards based on how many of their chosen numbers match the winning combination, with a unique points system determining their share of the total prize pool.
Testnet Statistics
During the testnet that lasted from October 14th to 28th, a whopping 259 unique players engaged with Lottery L1, collectively purchasing over 1,400 tickets. With each ticket priced at 10 $MINA, that’s over 14 000 test $MINA on tickets within just two weeks!
Lottery testers were assigned a series of quests spanning various categories. These quests were designed to enhance user engagement while rigorously testing critical functionalities such as ticket purchasing, reward claiming, and utilizing gift codes to invite friends. Participants were encouraged to report any bugs they encountered directly to the team via the ZkNoid Discord channel. For each quest completed, players earned points that were instrumental in assessing overall engagement levels.
After completing all challenges, participants were invited to provide feedback on game mechanics and UX.
Feedback from the community
The feedback we received during the testnet not only highlighted areas for improvement but also reinforced our commitment to creating a player-centric gaming environment.
We are excited to share some key insights gathered from our enthusiastic participants:
1. Overall Enjoyment: An overwhelming majority of players expressed their enjoyment of the Lottery game, which serves as the ultimate reward for all the hard work our team has put into this project.
2. User Interface Appreciation: Over 90% of participants praised the game’s UI, a testament to the exceptional efforts of our talented graphics design team, led by Shiroy! Show her some love for her outstanding contributions!
3. Future Engagement: Nearly 95% of players indicated a strong interest in participating in future ZkNoid events. Stay tuned — we are committed to delivering exciting experiences that will exceed your expectations
4. Mainnet Excitement: More than four out of five players expressed eagerness to play the Lottery game upon its launch on the Mina mainnet. This enthusiasm fuels our drive to ensure a successful launch.
5. Confidence in ZkNoid: Most participants are confident in ZkNoid’s potential to revolutionize zkGaming and expressed a desire to purchase the project’s tokens once they are released. We deeply appreciate our community’s unwavering support and faith in our vision!
These insights not only motivate us but also guide our development process as we strive to create an engaging and innovative gaming experience. Thank you for being an integral part of our journey!
Team reflections
Hosting of the testnet for our Lottery game was an amazing yet formidable technical challenge. Throughout the process, we discovered that under load, the system behaved different than anticipated. Thanks to your unvavering support and dedication, we managed to identify and resolve several issues, ultimately ensuring that the lottery operates smoothly.
The initial production of winning tickets did not go as we had planned, revealing several intriguing scenarios along the way.
During our efforts to generate the first reduced proof, we encountered an issue: the reconstructed Merkle tree roots of the tickets did not match the expected ones. Upon investigation, we found that there is an issue on the archive node that happens if a lot of tickets are bought in the same block. In such cases, the order of actions may become incorrect. We documented this issue in the o1js library. It turned out that the correct actions order is actually stored in the archive node database, but not exposed with GraphQL. As a temporary solution, we implemented a hotfix that involved trying all the actions-in-block permutations until the correct hash was reconstructed. We are optimistic that the o1js team will deliver a permanent fix soon.
Additionally, while investigating issues related to reward claims, we found out that one ticket claim transaction was presented. However, event fetching sometimes failed to return the claimed ticket. This led to incorrect claim witness calculations and mismatches within the reconstructed tree. The root of this problem lay in the load balancing of Minascan . For some reason one of the nodes was not up to date. A simple restart of that node resolved the issue.
Following these fixes, both winning ticket production and claim processes began to function reliably.
We are thrilled to see users actively participating in the lottery and remain committed to enhancing both the user experience and overall stability of our platform. Your feedback and involvement are invaluable as we continue to refine and improve this exciting play-to-earn experience.
Thank you for being a part of our journey!