Token Metadata can be incredibly meaningful, how do we make sure everyone is able to make use of it?
With the increasing popularity of NFTs and use of ERC-721 tokens as well as the adoption of the Ethereum Blockchain for a variety of use cases, we are presented with a unique opportunity to learn an incredible amount of the token movements and use cases through its metadata. This is not the only benefit we have, we can start thinking about composability as well since development can be sped up and optimized if Smart Contracts and Tokens use previously defined compatible standards. With this idea in mind we can set up the building blocks for a myriad of complex scenarios moving forward.
However, metadata is optional and as such, millions of tokens could be addressing similar use cases (with similar metadata) but not become immediately apparent. In order to easily and cost-efficiently draw meaningful conclusions from this metadata, I would argue that it is in the best interest of the community to standardize how certain pieces of metadata are structured in the tokens. For example: I want to include location metadata to a token in the following format:
Note: this is what the ERC-721 token Metadata JSON would look like after adding the location metadata in the particular proposed format.
The idea is to turn this into an EIP and set a precedent for future Metadata Standards, this way anyone adding metadata to their ERC-721 tokens has access to robust guidelines which they can follow in order to make their use cases tidier and benefit the community as a whole. As part of the Blockchain division at EY (Ernst & Young), weâre working on products and services promoting transparency across business partners, traceability for tokenized assets, and trust in technology by showing token information in a way that is responsive to the metadata associated with that token. Weâre looking for input from the community to determine what information is most important to help make this EIP happen so we can collaborate and build together solutions that would positively impact developers and help towards the widespread adoption of Ethereum and Blockchain as a technology.
One thing you might find helpful is to re-use existing schema archives and tooling from web development generally. For example JSON Schema has a library of schemas as well as schema dot org, which has thoughtful schemas on things such as a Place or even a LocalBusiness.
Iâll look into it. I guess the only thing that comes to mind as of right now is that XMP at the end of the day is implemented through embedding XML in the media file. However, since this EIP looks for a standardization of the ERC-721 Token Metadata (a JSON), it wouldnât be practical to use XMP. That being said, Iâll dive into it and see if thereâs any way in which we could reuse anything from it. Cheers!
Have you seen EIP-2477 about Token Metadata Integrity ? This EIP may solve similar issues that your proposed new standard would solve.
Iâm organising Working Group around improving the ERC721 Standard and creating new improved standard. There is a lot to improve on the ERC721 and I believe together we can create new community standard that would be better than the old ERC721. Feel free to chime in Improving NFT standard
We have been integrating using JSON-LD and https://schema.org/VisualArtwork for our artists artworks.
This coupled to some DID can go very very far and give a lot of information.
What is great is that Schema dot Org have very extensive list of Schema for all kinds of data, and it is possible to describe almost everything needed.
After looking at the metadata spec of ERC721, ERC1155 and what big platforms do, I think too that Metadata Standards are needed.
But as NFT represents a wide range of things from gaming to art (or attendance proof) and as this is a fast growing and changing market, the task seems really complicated !
So I ended up finding the ERC721 metadata minimal requirements a good approach at this time allowing you to add your metadata scheme on top (and the ERC1155 going too far even in i18n).
As @dievardump said, we found the schema dot org a good place for mature data scheme (even if the naming is weird sometimes ) and the DID approach really good for combining schemes (still in DRAFT)
So if we want to do an EIP about extending metadata, I think we should keep it simple and just standardize the schema definitions used, so computers can get the schema definition, parse and validate it correctly something like the DIDâs @context: []. Totally up for it !
Please double check the JSON schema, it is not having the effect you intend. You can test here with a valid and an invalid example. https://www.jsonschemavalidator.net
How to do what you want to do
ERC-721 (and more tokens) admits the ability to connect any JSON object, and provides a brief, option schema. Of course, in the wild much more metadata is used.
The correct⢠way to add more structured metadata to ERC-721 is to use an existing data schema defined at Schema.org - Schema.org. (Please click âexpand allâ and then use your browser to search that page.) You can directly implement those into your application.
This EIP should be abandoned
The creation of a new location standard, which is incompatible with the well-established Schema.org location standard, and gluing it into ERC-721 does not add any value in the matter of the semantic web (i.e. the original âweb 3.0â). Furthermore, if this EIP will be in-scope for the EIP project, it could easily be argued that EVERY JSON Schema should be added a new EIP.
1,700 metadata schemas Ă 50 token standards = why are we doing this?
In the interest of Do not Repeat Yourself, I recommend this EIP be abandoned as out-of-scope for the Ethereum project.
Or, at a very minimum, it should be replaced to say only âEIP-XXXX, if an ERC-721 token uses the metadata extension and the referenced JSON file includes a âlocationâ property then that property shall conform to the XXXXXXX schema as published on Schema.org.â
Hi could you elaborate on this? Where do you take this statement from?
The only mentions of JSON Schema in EIP-721 that I found do not clarify the fact that all and any structured metadata are to follow an existing Schema.org schema if it exists.
And although I would like it to be true, I would like to see it stated somewhere clearly, but I canât find it.
Schema.org is a standard only in a de facto sense. This means I might convince you and everybody that it is a standard if I can convince you that most everybody else is already using it.
Letâs try.
The French government recognizes schema.org as the first notable initiative compared to their own data organization initiatives, https://schema.data.gouv.fr
The US Federal Emergency Management Agency, in discussing data sharing with hospitals regarding COVID-19, recognized schema.org as a âstandardized formatâ for metadata.
schema.org is the 1813th most popular website on Earth. I have not checked the ones before it, but this is pretty good for something that does not have an end-user product.
These are just the first few examples I have found from looking at the backlinks to schema.org from government sources (plus what I already know about Googleâs crawler). There are 7,400 remaining government references. And 200 million other non-government references.
I donât have much more to say about notoriety. But in terms of the quality of that project⌠it is quite thorough.
Async Art is using similar concept - the artwork changes based on the set properties (changes by time). Unfortunately they have no live technical documentation where you can find how their programmable art works. They are definitely using ERC721 and some custom extension built on the top of it.
I think it would be great to push for wider standardisation of JSON metadata for NFTs, lots of various bespoke offerings atm and we should all try and converge on some baseline standards IMO.
Some of the schema.org ones I have been looking at are:
This is mainly as I have been looking at NFTs for art and creativity use cases but I am sure there are others which can be repurposed.
I generally favour using these more well established ones from Schema.org if possible and not to re-invent something just for NFTs. Maybe any new EIPs can simple reference schema.org version as a baseline? I am also not sure how wide any schema.org schemas are used but they do a great job of listing out lots of options.
Hey @RicardoChacon, can you please elaborate on why you would like to include location metadata to a token? Why physical location for token matters? It make sense for projects like foam but Iâm sure they are using other solution (I havenât looked into technical details).
I do agree that we need to collaborate on better standard and not use ERC721 anymore as it has more flaws than strength honestly.
We should look into better definition of metadata and how to display and access token metadata. The EIP-1047 was supposed to define metadata but it fell off to the darkness.
I hosted NFT Metadata twitter spaces a few weeks ago where we discussed this problem into more details, notes. The main takeaway from this session: NFT platforms should collaborate together on unification of metadata, metadata formats so users will see their NFTs across different platforms.