Discord-integrated party game, that boosts communication within DAOs.
We create a casual party game that is integrated with Discord. This game was created to promote interaction among participating DAO members and getting excited together. The game itself is a web application, but this application that works closely with Discord. Games can be started with a command on Discord, and the progress of the game is posted by the bot on Discord. Comments about the game that the audience has posted in a thread on Discord are displayed on the web application.
The front-end framework is built in Nuxtjs. I dared to combine metamask-sdk, etherjs, and web3js and made a comparison. The API of discord is also used in the js to connect to the outside world. Hosting was done by vercel, and by integrating with github, we were able to build a CI/CD flow at an early stage. For the contracts we used foundry to easily test and deploy the contracts. Go is used to for the game master which is the one responsible for initializing and ending the games. Since everyone can see all the data in the blockchain we need to initialize every game with a hashed proof. The raw bytes used to generate the winningHash is derived from the combination of the bytes value of the randomly generated amount that would tip the bamboo (first two bytes) and the last 30 bytes come from the first 30 bytes of a randomly generated sha256 hash. For the back-end development, we used Python to seamlessly integrate the game with the Discord chat screen.