Inspiration
I was an artist myself or I used to do rap and in the hip hop industry, a lot of the time rappers do rap battles, beefs etc. and I thought this platform could do them some justice. But apart from just rappers, I really think this platform might be loved by all type of content creators out there who own NFTs.
What it does
It is an NFT battles platform where if you own NFTs in your wallet, you can initiate an NFT battle and then other users like you can battle with your NFT. For doing these NFT battles, users need to stake some MATIC, currently winning player takes away his own staked MATIC plus 80% from losing player and losing player doesn't get anything. Rest 20% goes to the platform's pool and is kept for maintenance and developers. But I really think by doing the tokenomics properly for this project, the losing player can also get something back from the battle.
How we built it
I built it in around 3 weekends (we can say in a week) as I have a full time job as a Frontend developer. I didn't knew solidity too much and I haven't written solidity or smart contracts at this level of complexity prior to this so I did some research whenever needed. I watched chainlink's training live sessions by Patrick and learned a lot from them too. I took help from Chainlink support members on Discord (mainly from SamFriedman & mikestone). I knew NextJS but I used Moralis for the first time to interact with blockchain and I faced a lot more issue in Moralis rather than solidity, I have used ethersjs previously but Moralis was new to me as it had so much things and different methods. But somehow it also got managed. I have used keepers and VRFs in this project and I also seek to use Digital identities for user profiles in future.
Challenges we ran into
I mostly struggled with Moralis' methods as there were too many methods for the same thing in their docs, I asked their support from their discord and got huge chunk of help from there fortunately. Then I struggled a lot more with keepers as it was really new to me and I was messing up with gas limit sometimes and sometimes I messed up with a condition for a loop which was breaking the keeper. Fortunately, Mike and SamFriedMan came to rescue and I was able to debug the issue and resolve it.
Accomplishments that we're proud of
I'm proud of that I was able to build such a decentralized application in this much time. I know it might not be a huge accomplishment for other people but for a person is just getting started in web3, this is huge for me. I'm proud of me that I took this project all by my own and did everything from frontend to smart contracts all on my own.
What we learned
I learned a lot of solidity, a lot about chainlink's products which are really cool and I think my project will utilize even more of chainlink's products with what I have thought for it. I learned about Moralis which I've seen many web3 projects use. I have learned a lot through this hackathon and I seek to learn more in coming future.
What's next for Bazooka Battles
If I get selected or if I get time and resources for this project, I will add badges and achievements/levels for users in the dapp. So user who have voted on winning NFTs for like 20 times, will have a greater level of badge on his profile. And I was also thinking to add an option for artists to verify their authenticity, so we can use chainlink's External adapter maybe to get info about an artist from their socials and verify them on the dapp somehow, the execution of this is vague as of now but I believe it can be done somehow.
I also plan on staking all the funds in the contract to platforms like AAVE, so that the liquidity and the resources in the dapp can be increased and we can give out some more additional benefits to our users.
For NFT betting (where VRF is ran) either we can upload our own NFTs which will be Bazooka NFTs or we can take NFTs from NFT battles who won the battles and put them into NFT betting, and run VRF for multiple NFTs, so for example, if we take 14 NFTs from previous battle and 6 of those NFTs win with random numbers generated by VRF, then those NFTs will be listed on our marketplace and that will the increase the price of the NFT.
Also need to do proper frontend for Audio NFTs and how they will be displayed.
Built With
- chainlink
- hardhat
- moralis
- nextjs
- solidity
- tailwindcss
Log in or sign up for Devpost to join the conversation.