NFT Metadata
Last updated
Last updated
This page was created in collaboration with and
For Metadata Overview, I suggest you check out
Metadata describes just attributes of the NFT, usually visual attributes like trait type - like colour of pants or similar. Usually:
name
description
image (should ideally point to ipfs/arweave links, traits)
For better understanding look at Meebit metadata snippet:
``{
"name": "Meebit #12347",
"description": "Meebit #12347",
"image": "http://meebits.larvalabs.com/meebitimages/characterimage?index\u003d12347\u0026type\u003dfull\u0026imageType\u003djpg",
"attributes": [
{
"trait_type": "Type",
"value": "Human"
},
{
"trait_type": "Hair Style",
"value": "Ponytail"
},
{
"trait_type": "Hair Color",
"value": "Dark"
},
{
"trait_type": "Glasses",
"value": "Aviators"
},
{
"trait_type": "Shirt",
"value": "Tube Top"
},
{
"trait_type": "Shirt Color",
"value": "Green"
},
{
"trait_type": "Pants",
"value": "Leggings"
},
{
"trait_type": "Pants Color",
"value": "Blue Camo"
},
{
"trait_type": "Shoes",
"value": "Canvas"
},
{
"trait_type": "Shoes Color",
"value": "Gray"
}
]
}
tokenURI may point to JSON file that conforms to the ERC721 Metadata JSON Schema
The idea is to create metadata standard or find solution to:
simple describe token metadata
easy to parse even for non developer community like artists
What’s the situation with metadata now?
no video support (extremely problematic to upload video)
no link to "platform" - people have to find tokenURI (works with ERC-721), decode link via and decode the picture / file this way
Stores:
name
decimals
description
image
properties
localization
Supporting only image files (images)
ERC721 defines metadata as tokenURI which is referring to IPFS (or other storage provider service) URL (link).
Which is an option but we can do better, unfortunately there is no better solution for how to describe metadata.
In ERC721 metadata extension is OPTIONAL
Metadata and their functions outcome example:
name() returns string => "1000x CubeArt" symbol() returns string => "CUBART" tokenURI(tokenId) returns string => "ipfs://SHA"
Defines schema which should be used for describing metadata.
ERC2477 was created aiming to describe metadata better but it was really just about adding schema like https://schema.org/VisualArtwork to the metadata itself which is describing metadata in more readeable way but not sure if that's the road we would like to get onto.
This ERC is most likely not going to be used, you can read more about this ERC in [[ERC2477 Token Metadata Integrity]]
The most people default using OpenSea implementation of metadata. This standard have a few additional fields like:
animation_url
original_url
OpenSea metadata standard: https://docs.opensea.io/docs/metadata-standards
Just to name a few problems that Ethereum is facing with Infrastructure andd mainly metadata. We need:
More accessible metadata not only IPFS/ Arweave/ centralized server link
Support for video formats of NFTs (now nearly impossible to have video as NFT)
Better cross platform interoperability - marketplaces have custom metadata solutions for displaying files
Slides from Iain (Zora): https://gateway.pinata.cloud/ipfs/QmYm88NA5exdF23D5oWien2p95abiwPp6o7vB89NJXaj1i/Metadata%20Draft%20Slides%20v1.pdf
Metadata definition: https://en.wikipedia.org/wiki/Metadata
Meebits metadata contract: https://meebits.larvalabs.com/meebit/12347
Meebits contract: https://etherscan.io/address/0x7bd29408f11d2bfc23c34f18275bbf23bb716bc7#code
Meebit itself: https://meebits.larvalabs.com/meebits/detail?index=1247
OpenSea metadata standard: https://docs.opensea.io/docs/metadata-standards
JSON parser: https://jsonformatter.org/json-parser
ERC-721: https://www.nftstandards.wtf/Standards/ERC721+Non+Fungible+Standard
ERC-1155: https://www.nftstandards.wtf/Standards/ERC1155+Multi+token
Zora Metadata formats: https://docs.zora.co/docs/developer-tools/zdk/metadata
Zora metadata media schemas: https://github.com/ourzora/media-metadata-schemas
Metadata schemas intro: https://nftschool.dev/reference/metadata-schemas/#intro-to-json-schemas
Structural improvements to ERC-1155 metadata https://writing.gonze.com/34203/structural-improvements-to-erc-1155-metadata
We had a discussion about NFT Metadata. Notes are in