This page was created by collaboration with [Vasa]( and [Iain]( **For Metadata Overview, I suggest you to check out [Deep dive into NFT Metadata](** # Metadata definition: 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": "\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 ## How we should describe token metadata? 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 [JSON parser]( and decode the picture / file this way # ERC1155 JSON Format Stores: - name - decimals - description - image - properties - localization Supporting only image files (images) # ERC721 Metadata 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" # ERC2477 Token Metadata Integrity 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 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]] # OpenSea metadata standard The most people default using OpenSea implementation of metadata. This standard have a few additional fields like: - animation_url - original_url OpenSea metadata standard: # The problem: 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 We had discussion about NFT Metadata, notes are in [HackMD]( # Further reading Another page [[Interactive NFTs & Standardising metadata]] Metadata definition: Slides from Iain (Zora): [[ERC2477 Token Metadata Integrity]] Meebits metadata contract: Meebits contract: Meebit itself: OpenSea metadata standard: JSON parser: ERC-721: ERC-1155: Zora Metadata formats: Zora metadata media schemas: Metadata schemas intro: Structural improvements to ERC-1155 metadata