An NFT is a unique ID. On-chain data contains this ID coupled with additional important information like ownership, royalties, and more. However, media and metadata are stored off-chain for performance and flexibility. These data must be carefully written to guarantee compatibility across the tools and dApps of the ecosystem. (TIPs) propose structures adopted from ERC-1155 to ensure this compatibility.
Here below are listed the expected format for each feature:
Basic NFT
{
"title": "Title of the NFT",
"description": "Description of the NFT",
"image": "Hash of the media",
"properties": {
"media": {
"hash": "Hash of the media",
"type": "Type of the media (file format)",
"size": "Size of the media"
}
}
}
Secret NFT
{
"title": "(OPTIONAL) Title of the Secret NFT",
"description": "(OPTIONAL) Description of the Secret NFT",
"properties": {
"encrypted_media": {
"hash": "Hash of the encrypted media",
"type": "Type of the encrypted media (file format)",
"size": "Size of the encrypted media",
"name": "(OPTIONAL) Name of the encrypted media",
"description": "(OPTIONAL) Description of the encrypted media"
},
"public_key_of_nft": "Public key associated with the Secret NFT"
}
}
Collection
{
"name": "Name of the collection",
"description": "Description of the collection",
"banner_image": "Hash of the collection's banner image",
"profile_image": "Hash of the collection's profile image"
}
Marketplace
{
"name": "Name of the marketplace",
"logo": "Hash of the marketplace's logo"
}