-
Notifications
You must be signed in to change notification settings - Fork 54
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
TIP-27 IOTA NFT standards #65
Changes from 32 commits
f5f17c0
74b233a
eb0f15c
5eb75b4
8fd3655
32b6734
066e1cb
ecac842
edc7924
a1d9bd5
4d5ea15
5e1939e
02c16b9
f12a5eb
ae29bcf
bf3120c
096eaed
4083ba4
c658d1e
5dbf829
481a359
259ed3a
ba48997
b748957
c696eaa
35ac461
4c8783e
197c87f
41d828d
91cc339
07510ab
ac9687f
cfa52f5
3a96412
61b4c5d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
|
||
{ | ||
"$schema": "https://json-schema.org/draft/2020-12/schema", | ||
"$id": "https://github.com/iotaledger/tips/main/tips/TIP-0027/irc27.schema.json", | ||
"title": "IRC27 IOTA NFT Metadata Schema", | ||
"description": "A JSON schema for validating IRC27 compliant NFT metadata", | ||
"type": "object", | ||
"properties": { | ||
"standard": { | ||
"type": "string", | ||
"description": "identifier for the metadata standard used", | ||
"pattern": "^IRC27$" | ||
}, | ||
"version": { | ||
"type": "string", | ||
"description": "version of the metadata standard used", | ||
"pattern": "^v\\d+.\\d+$" | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "A descriptive name of the token" | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "some information about the NFT project" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"description": "MIME type of the asset" | ||
}, | ||
"uri": { | ||
"type": "string", | ||
"description": "URI pointing to the resource where the file with `type` MIME type is hosted" | ||
}, | ||
"collectionId": { | ||
"type": "string", | ||
"description": "A unique collection ID identifier for the collection" | ||
}, | ||
"collectionName": { | ||
"type": "string", | ||
"description": "A human readable name for the NFT collection" | ||
}, | ||
"royalties": { | ||
"type": "object", | ||
"description": "object containing the payout addresses mapped to their percentage share" | ||
}, | ||
"issuerName": { | ||
"type": "string", | ||
"description": "name of the artist" | ||
}, | ||
"attributes": { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would recommend to get inspired from ERC-721 / ERC-1155 metadata standard:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are heavily inspired by the ER721 standards, camelCase or snake_case are acceptable in word separation as per JSON schema standards. For example the I am sure Merul can comment a little further in regard to the localisations. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not sure what you mean by localization here but if you mean glyphs from other languages than that shall be covered by unicode already |
||
"type": "array", | ||
"description": "array containing any additional data as objects." | ||
} | ||
}, | ||
"required": [ "standard", "type", "version", "uri", "name" ] | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should consider index here. You might want to define sequence as not all royalties might be paid every time. For example, what happens if the royalty is below dust?