Originally RMRK metadata spec was closely following Opensea metadata spec. I believe that Opensea is using a lot of redundant fields and now that we already started re-implementing some parts inspired by ERC-1155 like properties format instead of Opensea's attributes, we can drop more fields from opensea's and stop trying to be compatible with it.
animation_url is a redundant field on metadata, especially with RMRK2 when multi resourced NFT is supported and animation/video can be a separate resource rather than an extra field on metadata. Metadata should be use mostly for text (name, description) and properties (prev. attributes) plus a fallback image. And more complex media should go into resources
background_color has no clear use case and with RMRK2 we have themes instead that can be utilised
youtube_url - should be removed as it's a single platform lock and too specific to youtube
RIP Details
Therefore the proposed metadata format is
{
"external_url": {
"type": "string",
"description": "HTTP or IPFS URL for finding out more about this project. If IPFS, MUST be in the format of ipfs://ipfs/HASH"
},
"image": {
"type": "string",
"description": "HTTP or IPFS URL to project's main image, in the vein of og:image. If IPFS, MUST be in the format of ipfs://ipfs/HASH"
},
"image_data": {
"type": "string?",
"description": "[OPTIONAL] Use only if you don't have the image field (they are mutually exclusive and image takes precedence). Raw base64 or SVG data for the image. If SVG, MUST start with <svg, if base64, MUST start with base64:"
},
"description": {
"type": "string",
"description": "Description of the nft. Markdown is supported."
},
"name": {
"type": "string",
"description": "Name of the NFT instance."
},
"properties": {
"type": "array",
"description": "A Map of JSON objects, inspired by Enjin's: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md#erc-1155-metadata-uri-json-schema"
}
}
Examples
Some examples of the changes in action.
Open Questions
Questions for the community, to still be discussed.
Prior work (optional)
Citations, acknowledgments for inspiration, projects this RIP is emulating, etc.
Impact
What this means for implementers, version numbers, and other considerations.
RIP Summary
Originally RMRK metadata spec was closely following Opensea metadata spec. I believe that Opensea is using a lot of redundant fields and now that we already started re-implementing some parts inspired by ERC-1155 like
properties
format instead of Opensea'sattributes
, we can drop more fields from opensea's and stop trying to be compatible with it.animation_url
is a redundant field on metadata, especially with RMRK2 when multi resourced NFT is supported and animation/video can be a separate resource rather than an extra field on metadata. Metadata should be use mostly for text (name, description) and properties (prev. attributes) plus a fallback image. And more complex media should go into resourcesbackground_color
has no clear use case and with RMRK2 we have themes instead that can be utilisedyoutube_url
- should be removed as it's a single platform lock and too specific to youtubeRIP Details
Therefore the proposed metadata format is
Examples
Some examples of the changes in action.
Open Questions
Questions for the community, to still be discussed.
Prior work (optional)
Citations, acknowledgments for inspiration, projects this RIP is emulating, etc.
Impact
What this means for implementers, version numbers, and other considerations.