Inspiration

NFTs seemed a bit boring, like you can have a monster/superman as NFT but then that's it so needed something to make them more cool, like battling nft and getting rewards.

What it does

DeFi-Battles introduces a gaming aspect of the NFT's inseted of having them as a show piece in the wallet now they can be used to battle other players NFT and earn rewards.

We also introduced various intresting aspects in this platform like, 1. PVP Battles and 2. Player VS Boss Battles - in this mode the boss is a NFT sponsered by advertisers and other players Battle and earn rewards based on contribution.

How we built it, Challenges we ran into

We faced various challenges while working on this project.

  1. Initially deciding what type of NFT should we have, first was unique crypto NFT which were unique based on the date of minting and value of that crypto asset. Later we moved to monster NFTs as they were much cooler, and these monsters are of different types like fire, water, grass. etc and have attacks based on that.
  2. The next challenge was how would we dynamically generate this NFT we solved it with Remotion it's a library to generate videos with the code written in React, the NFTs are in CSS and react and are generated on the server itself.
  3. Deciding the traits and character meta data generation part, the traits and meta data are based on the DNA which is generated from Chainlink VRF and all those data is stored in ifps using nft.storage.
  4. Deploying the NFT generation server, was slightly complex because we had to set up HTTPS, and also while working we encountered that Remotion doesn't work with 1gb VPS and it was solved by upgrading it to a 4gb one. We learned about Nginx, pm2 and HTTPS setup during this part.
  5. Integrating with the frontend and contract.

Accomplishments that we're proud of

Deploying the server and generating new nft videos dynamically and the entire idea and things built.

What we learned

What's next for DeFi-Battles

Improve the battling contract and introduce the boss battle to contract and better logic of type addvantage.

Built With

Share this project:

Updates