Our friend group enjoys playing low-stakes poker, but we always argue about our relative skill levels. More than that, throughout the day, we'll jokingly make casual bets like "I'd give three to one odds that Basil shows up late to our first group meeting. During our brainstorming, Ash basically asked, "what are the odds we come up with and finish a project before the deadline?" From there, we somehow find ourselves interested in creating a way to host a smart contract betting escrow for private bets between groups, and now it's the deadline.
Wager is a social betting app that functions as a payment escrow and bet organizer for groups looking to set a bet on any desired event. The bet creator sets a variety of parameters such as min bet amount, max bet amount, max number of people, and of course, the outcomes for what counts as a win or loss for the bet. Those outcomes are decided by a vote reporting system that is sent out to the betting accounts. There are also various social functions such as a trust grade that uses a trusting algorithm, so people can see if someone has falsely reported before. There is also a betting score algorithm that generates and edits a score for each person based on a successful or unsuccessful bet made, dependent on how large of a bet it was. That score is used as a social marker and also as the key factor in our leaderboard system that ranks people among their friend circles or betting group.
Frontend: React, Solana web3.js Backend: MongoDB, Express, Node, Rust Version Control: Git of course We all worked on different parts but honestly every part of the project ended up being a mutual effort.
False Reporting - Because the bets themselves are resolved through the reporting of betters, we had to ensure that there was a significant incentive against lying about the bet results. We did that through a combination of creating a mutually assured destruction threshold, a trust algorithm, and what we expect is significant peer backlash caused by wasting everyone's money and time.
Phantom wallet and integrating front end and back end - We had the idea hashed out very well, so as far as needing to be adaptable in terms of changing our project we had a really easy time. However, we faced an incredible amount of trouble with simply integrating all of the moving parts of our project together in a way that works. It really came down to trouble with the coding nitty gritty that made it difficult to mesh together the different aspects of our project. We had a lot of trouble getting the wallet to work for us, and we had most of our trouble trying to troubleshoot really specific issues.
We are incredibly proud of the progress we have made in developing our understanding of development for a blockchain tech stack. The individual goals we set for ourselves were either met or exceeded, and we all made sure the goals we set were centered around learning and honing our exiting skills. Regardless our where we were placed in the tech stack and ideation process, we made an active effort to learn from each other and contribute to parts of the process that were "distant" to us.
We learned about how to develop on the blockchain. We already knew how to develop using web2 but we learned a lot about combining the web2 elements with the web3 elements and trying to optimize for web3.
There are a lot of things we have mentioned wanting to implement that we haven't yet due to lack of time. Some of those things include a broader range of available bets to be hosted, allowing public bets to be made that are open to anyone with a given trust score, and for bigger events, the ability for a betting outcome to be verified by us at Wager so that it bypasses the reporting system.