minter icon indicating copy to clipboard operation
minter copied to clipboard

NFT Registries

Open wyc opened this issue 3 years ago • 0 comments

Hi, looking for feedback on this idea. Thanks.

User stories

  • As an NFT minter, I want to create NFTs that don't necessarily belong to a collection and can be represented solely by their KT1 address and no index.
  • As an NFT minter, I want to create "registries" of NFTs with rules for belonging, with the predicates specified as either on-chain views or TZIP-016 off-chain views.
    • For example, a registry with hard-coded NFT addresses in a list is logically the same as a fixed collection today.
    • For example, I can create and share a registry that contains all the NFTs I currently own because the hardcoded predicate is isOwner(<myaddress>).
    • For example, I can create a registry with a mutable ordered list-like data structure that is governed by Homebase, such as for a community NFT display shelf decided by the community.
    • For example, I can create a set of mutually exclusive registries such that an NFT can only exist in one of them at a time.
  • As an NFT minter, I want to be able to also create nested registries, which can contain NFTs and other registries as entries.

Architectural recommendation

  • Each NFT as a single smart contract
  • Registry smart contract
  • Collection as special case of Registry

Other considerations

  • Increased tx fees for NFT minting (each mint would be an origination) and batch transfers
  • Massive increase in composability

wyc avatar Mar 15 '21 21:03 wyc