What is the standard for token_meta.json. And why?

I have seened two types of json for (token_meta.json)to mint while working on native tokens. The one i used to mint this token Token eduladderTestCoin3 - Cardanoscan is as follows.

{
  "721": {
    "33c9aac796acbbb80517409fea79b225b6197e2bb419018fec8bc36c": {
      "eduladderTestCoin3": {
        "policy": "33c9aac796acbbb80517409fea79b225b6197e2bb419018fec8bc36c",
        "name": "eduladderTestCoin3",
        "image": "https://eduladder.com/favicon.ico",
        "description": "Proof Of Participation",
        "ticker": "ELD",
        "url": "https://eduladder.com",
        "logo": "https://eduladder.com/images/app/edu.png",
        "decimals": "6"
      }
    }
  }
}

And the one which i came across recently is as follows.


{
  "20": {
    "33c9aac796acbbb80517409fea79b225b6197e2bb419018fec8bc36c": {
      "eduladderTestCoin3": {
        "ticker": "ELD",
        "url": "https://eduladder.com",
        "description": "Proof Of Participation",
        "icon": "ipfs://ipfs/1234567890123456789012345678901234567890123456",
        "icon-16": "ipfs://ipfs/1234567890123456789012345678901234567890123456",
        "logo": "https://eduladder.com/images/app/edu.png",
        "decimals": 6,
        "version": "1.0"
      }
    }
  },
  "721": {
    "33c9aac796acbbb80517409fea79b225b6197e2bb419018fec8bc36c": {
      "eduladderTestCoin3": {
        "policy": "33c9aac796acbbb80517409fea79b225b6197e2bb419018fec8bc36c",
        "name": "eduladderTestCoin3",
        "image": "https://eduladder.com/favicon.ico",
        "decimals": "6"
      }
    }
  }
}

But this type is not reflecting correctly on pool.pm
https://pool.pm/test/metadata Which one should i follow and what is correct from the above?

Any idea or help?

The one with the 721 key is the one defined in https://github.com/cardano-foundation/CIPs/tree/master/CIP-0025. The one with the 20 key seems to be just something imported from Ethereum. I doubt that any wallet or other app interprets that. (As you can see at https://github.com/cardano-foundation/CIPs/blob/master/CIP-0010/registry.json, the metadata label 20 is not registered.)

You can put arbitrary keys and values in there, so nobody can stop you from putting "decimals" in it, but it would not be interpreted by wallet apps, since up to now, the token registry is meant for metadata of fungible tokens and CIP 25 is only meant for NFTs, not for fungible tokens.

The wallet app of the author of CIP 25 – Nami – takes this very seriously. It will show your fungible token under collectibles and not under assets if it has 721 metadata. On the other hand, a lot of fungible tokens misuse CIP 25 to define their logos and stuff.

Both look perfectly fine for me in the pool.pm test. What do you want to achieve?

The first json shows this image over here.
image

And the second json shows the image like this.
image

Note that in the second image this part is not diplayed.
image

That is because

does not contain this information.

As I said:

The part with the 20 metadata label is just ignored completely. You can leave it out. It’s nothing any Cardano application should care about. Go with your first set of metadata with just the 721 label.

1 Like

The 20 label is for ERC20 or the Ethereum fungible token standard … we still need some kind of CIP or standard over here to support the various things people might want to do with fungible tokens in a uniform way. Ironically you may have expected this to be drafted before any NFT meta data standards but peoples is peoples …

Do i need to specify the 20 part? So that etherium can understand what i am doing with this?

The 721 was brought over to Cardano from ERC721 (the Ethereum NFT meta data standard) but since they are separate chains entirely this was more of a nod to tradition. Basically SOME kind of meta data label makes sense to help identify what to expect with the rest of the contents. Since it MUST be numeric and Ethereum is so well known I think the logic was “let’s just use the same label that many people are already familiar with” …

Ethereum is a different blockchain. It will never see your tokens except maybe through some bridge (most I have seen up to now, bridge Ethereum tokens to us, not our tokens to Ethereum), but then the bridge should also maybe bridge the metadata.

No, it does not make much sense to include Ethereum metadata on Cardano.

1 Like

I tried to bring this up last year but ultimately I failed to convey the amount of confusion the adoption of ETH standards verbatim would cause in the future for adopting users who were not transplants from legacy systems. Copied but not actually compatible seemed to be fine with the majority and to be fair the majority of development thus far has been ETH clones anyway. I can count on one hand the amount of original projects that break the mold and do things that Ethereum cannot on Cardano so far.