Links

Metadata Recommendations

The most common format for NFT metadata is JSON. The schemas define the names of object properties, as well as what type of values are acceptable for each property.

Metadata structure

4 keys MUST be included in the metadata in order for ThunderGene to display NFTs correctly.
  • name: Defines the name of each item
  • image: The URL to the image of the item
  • token_id: A unique number that you can specify to identify the NFT within the NFT contract
  • description: The description of the item
  • The metadata must conform with the JSON standard (refer to the examples). If it does not conform in any way, then your metadata won't be loaded by us.
  • If in doubt, we recommend checking your metadata https://jsonformatter.curiousconcept.com/#, to make sure it’s valid.
​

Metadata schemas

The schemas can be applied to both ERC-721 and ERC-1155 NFT metadata.
ERC-721 was the first formal standard for interoperable NFTs to be widely adopted. Most of the standard is devoted to the smart contract interface that an ERC-721 token must adopt, but there’s also a recommendation for a baseline.
The schema is deliberately minimal and does not cover everything you might want to put in your NFT metadata. Yet, it is a convenient baseline.
An example of metadata for one of the ThunderGene 721 collections:
[
{
"name": "Frog_1",
"token_id": 1,
"image": "https://path/to/your/image"
"description": "Aweseom NFT #1 on ThunderCore",
},
{
"name": "Frog_2",
"token_id": 2,
"image": "https://path/to/your/image"
"description": "Aweseom NFT #2 on ThunderCore",
},
{
"name": "Frog_3",
"token_id": 3,
"image": "https://path/to/your/image"
"description": "Aweseom NFT #3 on ThunderCore",
},
{
"name": "Frog_4",
"token_id": 4,
"image": "https://path/to/your/image"
"description": "Aweseom NFT #4 on ThunderCore",
}
]
​
This schema is very similar to the previous one since it only adds a few additional properties.
ERC-1155 multi-token standard extends ERC-721 to support issuing many types of tokens from the same smart contract. This standard has helped make NFTs practical for gaming use cases and allows for more efficient creation of tokens.
Here's an example of metadata for one of the ThunderGene 1155 collections:
[
{
"name": "Dog_1",
"token_id": 1,
"image": "https://path/to/your/image",
"description": "Awesome NFT #1 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "Black"
},
{
"trait_type": "Produce",
"value": "DOGE"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
},
{
"name": "Dog_2",
"token_id": 2,
"image": "https://path/to/your/image",
"description": "Awesome NFT #2 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "White"
},
{
"trait_type": "Produce",
"value": "Milk"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
},
{
"name": "Dog_3",
"token_id": 3,
"image": "https://path/to/your/image",
"description": "Awesome NFT #3 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "Pink"
},
{
"trait_type": "Produce",
"value": "Egg"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
},
{
"name": "Dog_4",
"token_id": 4,
"image": "https://path/to/your/image",
"description": "Awesome NFT #4 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "Blue"
},
{
"trait_type": "Produce",
"value": "Fish"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
},
{
"name": "Dog_5",
"token_id": 5,
"image": "https://path/to/your/image",
"description": "Awesome NFT #5 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "Green"
},
{
"trait_type": "Produce",
"value": "Egg"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
},
{
"name": "Dog_6",
"token_id": 6,
"image": "https://path/to/your/image",
"description": "Awesome NFT #6 on ThunderCore",
"attributes": [
{
"trait_type": "Animal",
"value": "Dog"
},
{
"trait_type": "Background",
"value": "Yellow"
},
{
"trait_type": "Produce",
"value": "Sausage"
},
{
"trait_type": "Stage",
"value": "Production"
},
{
"trait_type": "Ticket",
"value": "ThunderCore Metaverse"
}
]
}
]
​