This page was created by collaboration with Vasa and Iain

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": "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 tot the ERC721 Metadata JSON Schema

How we should describe token metadata?

  • simple
  • 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"

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 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

OpenSea metadata standard

The most people default using OpenSea implementation of metadata.
This standard have a few additional fields like:

  • animation_url
  • original_url

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