-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Metadata for NFTs #17
Comments
I recommend to follow https://docs.opensea.io/docs/metadata-standards |
Here is an example of the format i'd like to see: {
"name": "test 3",
"description": "asdfasdfasd ",
"properties": {
"series_name": {
"display_type": "",
"trait_type": "string",
"value": "test 3"
},
"series_size": {
"display_type": "number",
"trait_type": "integer",
"value": "100"
},
"date_created": {
"display_type": "date",
"trait_type": "date",
"value": 1629737029184
},
"external_url": {
"display_type": "url",
"trait_type": "string",
"value": ""
},
"animation_url": {
"display_type": "url",
"trait_type": "string",
"value": ""
}
},
"localization": {
"uri": "",
"default": "en",
"locales": [
"en",
"de",
"ar"
]
},
"image": "ipfs://bafybeiej6org5hquxstziqoiqwk65335vf2vqp7v6jfqukowxm7ldubxmy/1024px-Bitcoin.svg.png"
} |
What's the next step here? @dantrevino @friedger might one of you want to open a PR with all necessary elements? Note Dan's relevant comment here as well:
|
@radicleart might be a good contributor |
I've gone with the open sea standards for props - 'name', 'image', 'attributes' etc - as in https://docs.opensea.io/docs/metadata-standards. But props like 'image' and 'animation_url' could be better formalised for future proofing - i.e. what type of object is the NFT? Should it support physical as well as digital objects? Going forward the attributes need to be free to adapt to many use cases and become much richer - beyond 'collectibles' in order to absorb the complexities? For example support for a gallery of images in a marketplace or for say corroborating documentation for the ownership of the NFT object (3 min videos for example of the artist making the work)? Or pointers into a decentralised taxonomy to help with search and discoverability. Another issue is which fields should be allowed to change and which should be 'locked' - items on auction legally require that the title/description/images do not change during the auction. Be useful if we could provide a signature which guarantees this sub set of fields can never change - e.g. by hashing this with the nft object hash and storing it in the contract? Not sure how or if this should be standardised? |
I'd encourage whatever spec we land on to have a version number, akin to how web extensions have |
I wanted to add this here because it adds context to why this standard would help the Stacks ecosystem and NFT adoption on it. I think we should have input from the accelerators that are working on NFT's too: Ideally they commit to the standard that is being developed here and I think that is much easier if they have a stake/say in the development of it. I will ping Gary Riger from Layer and Rodrigo from Moonray. I have also asked Stackspunks/ArtOnStacks to get involved. Who can get the others involved? |
I think being free to adapt means a minimal spec. The context you're looking to preserve could be kept in property objects. For instance:
Properties can be optionally rendered depending on the wallet author. This allows makers to add whatever context they see fit, and allows flexibility on the display side for wallets who may be displaying things on a TV or a watch. The bigger question here is why use an array, as opensea did for "attributes" and another object for "properties" ... imho, a single properties object covers both and is consistent with the overall format of the proposal. |
I agree with your point Dan that there only needs to be one array - I've used 'attributes' and not 'properties'. I could migrate to properties from here but this would be a bit of a pain as I'd have to support attributes for backwards compatibility. I agree also we should keep this simple as it clearly gets very complex very quickly when you try going beyond the simplest attributes. |
We're also having to support pre-sip009 and pre-metadata standard NFTs. And more every day. Its a consequence of leading early. Actually, until this standard is ratified, we're all in that same situation now. |
So the OpenSea standard is;
Re-reading their document Dan it looks like they added support for |
Hi all I'm Layer's smart contract developer. We are following the OpenSea standard for our NFT metadata as well. Only attributes, no properties though:
|
Would it be helpful to organize a meeting over Discord hangouts about this in the coming weeks to discuss where things stand generally, our various needs and any timing considerations we have in mind? My sense is that talking about this synchronously could help move the process along. If you're interested, please upvote this commit with an emoji and I'll work on organizing the session. 🙏 |
some comments here as a generative artist working in the space, things that would make life more attractive in STX land: image (url)Agree on a list of image formats supported. obviously people expect png/jpgm, gif not always.. but more interestingly SVG support. It should just work in an image tag... animation_urlAllows whole HTML scenes to be displayed in an iframe. but i think only opensea supports that so far
|
Thanks everyone for your interest in meeting about this above, and for your patience with me in scheduling a time. Doodle may be easiest to get something on the calendar, so please indicate your available times to meet next week as listed here: https://doodle.com/meeting/participate/id/QeZ88w2b Submissions are possible until EOD this Thursday, November 11th. 🙏 cc @radicleart @josecanhelp @314159265359879 @blockchainbrighton @dcsan |
note: solana exchange.art seems to have adopted the opensea format field names, and starting to add more formats beyond just JPGs. they just launched a 3d collection, which doesn't support the iframe, it's just a file which calls an embedded viewer. https://exchange.art/single/DwGfMA9wsS16gDY47oKCgCUjyGsc47vPytoMCU4DPiwF I'm not sure i've seen the |
link to the PR: |
There should a standard that defines a schema for non-fungible tokens using SIP-009
The text was updated successfully, but these errors were encountered: