Skip to content
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

Adding clarity to ADR 043 nft data field #9388

Merged
merged 2 commits into from
May 26, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions docs/architecture/adr-043-nft-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,14 @@ The NFT conforms to the following specifications:
```
owner (address) --> []string
```
* Data: This mutable field allows for attaching pertinent metadata to the NFT, e.g., to record special parameter change upon transferring or criteria being met.
The data field is used to maintain special information, such as name and URI. Currently, there is no convention for the data placed into this field,
however, best practices recommend defining clear specifications that apply to each specific NFT type.
* Data: This mutable field allows attaching special information to the NFT, for example:
* metadata such as title of the work and URI
* immutable data and parameters (such actual NFT data, hash or seed for generators)
* mutable data and parameters that change when transferring or when certain criteria are met (such as provenance)

This ADR doesn't specify values that this field can take; however, best practices recommend upper-level NFT modules clearly specify its contents.
Although the value of this field doesn't provide additional context required to manage NFT records, which means that the field can technically be removed from the specification,
the field's existence allows basic informational/UI functionality.

The logic for transferring the ownership of an NFT to another address (no coins involved) should also be defined in this module
```go
Expand Down