Build, Distribute and Sell Your Own Dynamic NFT


Read our blog post to learn about NFTs, tools that are not found outside the realm of blockchain and allow a wide variety of applications and possibilities.


Table of Contents

Fast NFT Refresh

What is Metadata?

On-chain and Off-chain Metadata

How to Distribute Your Dynamic NFT Market?


Fungible Tokens, or NFTs, are tools that are not found outside the realm of blockchain, allowing for a wide variety of applications and possibilities. It's a great start for those who want to generate a dynamic and random NFT, collectibles, standalone tokens, tickets, gaming apps, or anything else the ERC721 coin standard allows. But what can we do with it now? Wouldn't it be great to showcase your newly minted random or dynamic characters?


Fast NFT Refresh


ERC721 (also known as NFTs) defines a framework for making unique and disparate tokens (hence the term non-interchangeable), while the popular ERC20 standard can "change" tokens, meaning that all of the tokens are interchangeable and guaranteed to be of the same value. We'll dive a little deeper into how to create these and how the community represents them across platforms. You can also read more in the OpenSea NFT Bible.

If you haven't checked out the last article on getting random numbers in an NFT, be sure to go back there and have a look! The developers tab is full of various tutorials, guides and how-tos for smart contract and blockchain engineering tutorials.


What is Metadata?


In our last blog, we learned how to generate random NFTs. Now we're going to take it to the next level using another key piece of the ERC721 standard: metadata.

All NFTs have what is called metadata. You can read this in the original ERC/EIP 721 offering. Basically, what the community learned was that storing images is really difficult and expensive on Ethereum. If you want to store an 8 x 8 picture, it's pretty cheap to store that much data, but if you want a picture with good resolution, you'll have to spend a lot more.

Metadata provides descriptive information for a tokenId stored off-chain. These are simple APIs that off-chain UIs call to gather all the token-related information. Each tokenId has a unique tokenURI that defines this API call, which returns a JSON object looks something like this:

You will notice that the metadata has four different keys.

  • The name tokenIds determines the readable name
  • Description giving some background information about the token
  • Image with another URI of an image
  • Features that allow you to view your coin's statistics


On-chain and Off-chain Metadata

You can always store all your metadata on-chain (indeed, that's the only way your tokens can interact), but many NFT marketplaces don't yet know how to read on-chain metadata. Currently, when using off-chain metadata to visualize your icon, having all on-chain metadata is ideal so your icons can interact with each other.


The name, description, and attributes are easy to store on the chain, but the display is the hard part. Also, where do we store this API for tokenURI? A lot of people prefer to run servers to host information which is great but this is a central place to visualize the token. It would be better if we could store our images on a chain so they can't go down or be hacked. In the example above, you'll notice that its images use a URL pointing to IPFS, and this is a popular way to store images.


IPFS stands for Interplanetary File System and is a peer-to-peer hypermedia protocol designed to make the web faster, safer and more open. It allows anyone to upload a file and that file is hashed so if it changes, its hash changes too. This is ideal for storing images, because every time the image is updated the on-chain hash/tokenURI also needs to change, so we can have a record of the metadata history. Also, adding images to IPFS is really easy and doesn't require running a server!


How to Distribute Your Dynamic NFT Market?


Once again, we will be using the updated version of the Dungeons & Dragons repository, which also has instructions in the readme.

Here is what we will do:

  • Generate a verifiable random D&D character using Chainlink VRF
  • Add a tokenURI using IPFS
  • Adding your Randomized NFTs to OpenSea Marketplace
  • Remember, you can modify the repository to work for dynamic NFTs.
  • You can easily replace VRF with Chainlink Price Feeds or Chainlink API.

And we must be ready! We've covered a ton of information here, so if you have any questions, be sure to hit our Discord. The smart contract and Chainlink engineers community is huge and many brilliant people are coming together to bring NFTs and smart contracts into the limelight. We hope that this blog post will be beneficial for you. We will continue to create useful works in order to get inspired by everyone. We are sure that we will achieve splendid things altogether. Keep on following Finage for the best and more.  


You can get your Real-Time and Historical Cryptocurrency Data with Finage free Crypto Data API key.

Build with us today!

Start Free Trial