ordinals / ord

👁‍🗨 Rare and exotic sats
https://ordinals.com
Creative Commons Zero v1.0 Universal
3.85k stars 1.38k forks source link

Maintaining Legacy Ordinals Collection Metadata #4077

Closed wesleyygg closed 1 day ago

wesleyygg commented 1 week ago

Hello!

Many Ordinals collections are not connected to a parent inscription, making it difficult to definitively assign them as a collection on the blockchain. This can happen when:

As a result, the power to define these non-parent-child collections rests largely with centralized marketplaces. To ensure consistency across platforms, there should be a decentralized, uniform method for defining collections. This would allow any marketplace—decentralized or centralized—to reference a singular collection metadata inscription as the authoritative source.

I propose the following JSON inscription formatting (using Bitcoin Punks as an example):

{
  "metadata": {
    "name": "Bitcoin Punks",
    "desc": "Bitcoin Punks is the first 10k NFT collection on Ordinals.",
    "img": "c43b26851e509d46a91223a01b6e22ec21a9d31432e02d571ebfa918f4048c0ci0"
  },
  "e2637e853f8942ffb3385f6debf565b14aea2629b576492fceac61ac1de42f81i0": {
    "name": "Bitcoin Punk #0000",
    "attr": [
      {
        "type": "ears",
        "val": "Earring"
      },
      {
        "type": "type",
        "val": "Female"
      },
      {
        "type": "hair",
        "val": "Blonde Bob"
      },
      {
        "type": "eyes",
        "val": "Green Eye Shadow"
      },
      {
        "type": "inscription range",
        "val": "14k"
      },
      {
        "type": "attribute count",
        "val": "3 attributes"
      }
    ],
    "insc": 14836
  },
  ...
}

This formatting has everything a collection will need for a marketplace to showcase a collection including the collections name, description, and collection image marked under the "metadata" object. The rest of the collection metadata is constructed in a dictionary where the key is the inscription hash and the value is an object that holds the name, inscription number, and attributes of that particular inscription.

If there is a way for Ord to recognize these types of legacy collection metadata inscriptions that would be awesome! As we all know, many of todays top volume collections are not using parent-child so this is an opportunity to implement more decentralization in the ordinals ecosystem. I look forward to your feedback!

raphjaph commented 1 day ago

I think @casey has been thinking about this lately. I'll let him chime in.

casey commented 1 day ago

I'm slowly working on this. I'm going to first define a new on-chain schema format, which can then be used for legacy collections, so this can be closed for now, since that'll take a while.