rmrk-team / rmrk-spec

The RMRK NFT Specification
GNU General Public License v3.0
94 stars 35 forks source link

RIP-0010 Remove redundant "opensea" fields from metadata standard #31

Closed Yuripetusko closed 2 years ago

Yuripetusko commented 2 years ago

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's attributes, we can drop more fields from opensea's and stop trying to be compatible with it.

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.