The project I developed aims to make the metadata and photos on NFTs more dynamic. NFTs nowadays simply have a metadata that tends to be a video, a photo or a song. The concept of Dynamic NFT instead is anchored to the collection of data from the outside world and then change the attributes of the same in games or DApps. What if NFTs could have stories instead? As I will explain in the video, this project is designed to create a standard for NFTs in the real world. Think for example of a t-shirt or a shoe, where the user has the possibility to add important events done with that object and the same could take value over time. The developed interface and photos are just placeholders to make the concept understood. What is interesting in my opinion is the possibility to create an onchain history for a particular real (and/or digital) object.

Dynamic NFT showcase

How it's made

The project was developed with Polygon as the main chain, Solidity for Smart Contract development, Moralis for user authentication, and IPFS for metadata hosting. The decentralized application has a web interface created with Next.js and basically has three sections: dashboard, buy and collection. In the collection section there are all the dynamic NFTs mint by the users with their histories that can be seen through the button view. In the buy section you can mint new tokens, at this time adding a photo, but the future idea is to receive directly at home the physical object numbered bought on the marketplace. The dashboard section is the most important of the application because it allows you to use the function of adding a story about a particular NFT. In the update button you can add stories and then give value over time to that physical or digital object. The story will be added in an array of dynamic data (see contract) that holds within it the points to the IPFS. The functions addDynamicData and getDynamicData allow the web interface to manage and see the data. The tokens developed follow the ERC721 standard with ERC721UriStorage extension and is fully compatible with Opensea. The technologies used were quite easy to use and allowed me to eliminate a lot of time in development. I'm happy with what I've done considering that I was alone and the time was very short. It wants to be an example project for the underlying smart contract and my first experience as Hackaton. Cheers!