NFT Collection Experiment

-------------------------------------------  COMPLETED ------------------------------------------

We completed this experiment on 4/1/2023.  If you are interested in learning more send me a note r.pedersen@richcanvas3.com.

 

NFT architecture is evolving.  NFT metadata principles are simple and lack many of the information architecture concepts that are required for it to go mainstream for eCommerce Use Cases.

NFT metadata management is one area that is especially weak.  The metadata concepts have evolved and been greatly impacted by the underlying Ethereum technology and performance constraints (on-chain vs. off-chain).  The only data integrity found is maintained either within the various contracts , third parties like OpenSea or loosely by schema initiatives like hip412.

As NFT's start to find there way into mainstream eCommerce solutions the industry will have to introduce mechanism to enforce metadata validation, integrity and discoverability/introspection.

This experiment is directed at understanding current NFT platform capabilities and make initial recommendations on standards to follow.


Hypothesis (a proposition made as a basis for reasoning, without any assumption of its truth)


Goals (an aim or desired result)

Outcomes

Architecture

Technical Architecture

NFT Platforms (build and maintain NFT Collections)

NFT Marketplaces


Information Architecture (meta-data)

NFT ERC Metadata standards


Metadata Schema Standards


deFacto Industry Metadata Standards



Metadata Integrity Issue

┌───────────────────────┐       ┌────────┐      ┌────────┐

│        TokenID        │──--------------------────▶│Metadata│─────▶│ Schema │

└───────────────────────┘       └────────┘      └────────┘

This provides no integrity

┌───────────────────────┐       ┌────────┐      ┌────────┐

│        TokenID        │────--------------------──▶│Metadata│═════▶│ Schema │

└───────────────────────┘       └────────┘      └────────┘

┌───────────────────────┐            ▲                                     ▲    

│   tokenURIIntegrity   │═════════════╝                                     ║    

└───────────────────────┘                                                     ║    

┌───────────────────────┐                                                     ║    

│tokenURISchemaIntegrity│═════════════════════════╝    

└───────────────────────┘                                 

https://eips.ethereum.org/EIPS/eip-2477



People to watch

Kristijan Sedlak
xperermint
https://github.com/xpepermint
https://www.linkedin.com/in/ksedlak/
Supporting ERC2477 (schema), ERC4709 (rentable)
0xcert  founder up until 2021
GenoBank.io

William Entriken
github.com@phor.net
https://twitter.com/fulldecent

 Witek Radomski
witek@enjin.io
https://twitter.com/witekradomski
Enjin Wallet



Digital Wallet has a key metadata component



Specific Tasks

Get all the NFT's within EVM for a particular Owner
C:\ethereum\DemoProjects\web3-project2 implements example of finding ERC721's in EVM blocks


Decompose NFT Interfaces, Abstractions and Contracts and understand piece parts

https://etherscan.io/address/0xc84f803af78402ddd911d9ec4f697ee945052ec5#code






Nested NFT Analysis


Metadata Analysis

ERC-721 contract (Collection)


Other metadata at Collection level


ERC-721 token (NFT)

ERC-5006 (extension of ERC1155)


Metadata relating to sale of NFT




JSON Schema Meta Data

good overview: https://anettrolikova.medium.com/deep-dive-into-nft-metadata-99fe36aeef24



ERC-2477 (not active)

Token Metadata Integrity

https://eips.ethereum.org/EIPS/eip-2477

Discussion thread: https://github.com/ethereum/EIPs/issues/2483



OpenSea Rich Metadata standards

https://docs.opensea.io/docs/metadata-standards

good deep dive blog: https://opensea.io/blog/announcements/decentralizing-nft-metadata-on-opensea/

Alex Atallah co-founder of OpenSea, https://www.linkedin.com/in/alexatallah

api: https://github.com/ProjectOpenSea/metadata-api-nodejs



Discussion around metadata

https://hackmd.io/@Bnkhqf0tSbi1lX2Xc-WXYQ/ByxXJK-JK


json-schema.org managements the metadata for NFT JSON

Not really being used to manage real metadata


Token url:  ipfs://{{CID}}

Utility url:  ipfs://{{CID}}




Next Steps



Example of NFT Marketplaces (NFT Storefront)

https://github.com/onflow/nft-storefront