It's quite fashionable to create metaverse games for NFTs and these games requires of level up which means update of metadata. Our main idea was to create a module for Metaverse games to upgrade attributes of NFT's metadata.

What it does

This module is a module that implements server environment for updating metatdata attributes.

How we built it

This module implements the following logic to update the attribute of metadata in Pinata.

  1. Get the Token URI of the specific token whose metadata attribute should be changed.
  2. Download the token's metadata in the destination folder with the Token URI.
  3. Update the metadata with new attribute value and Save it.
  4. Upload that metadata file to Pinata using Pinata API Key and Secret API Key.
  5. Get the new CID from Pinata and update the Token's URI with the new CID by calling method of NFT Smart Contract.

Challenges we ran into

Since this application requires admin wallet's access so we need to import the admin's wallet to connex instance with its private key. To get private key we need to use thor-devkit library and its mnemonic words.

Accomplishments that we're proud of

There are hundreds of metaverse games around the world and all of these require metadata update. We can control any metadata of NFT if we have deployer's wallet information.

What we learned

We learned a great deal of Connex and its usage with VeChain. This involves how to fetch events in the backend and filter it to get specific event.

What's next for Upgrade NFT Attributes, Automatically and Live, on-chain.

Next upgrade would be swap of NFT attributes in metadata.

Built with: Connex, Pinata SDK, Node JS, Express JS

Built With

Share this project: