Category Hierarchy: Extend Category ERC-721 NFT standard with the ERC-6059 hierarchy specification. ERC-6059 supports decentralized management of the marketplace category hierarchy.
Category NFT: Introduce Category NFT metadata standard for managing detailed data. NFT metadata schema includes Attribute Type definitions that can be used for marketplace site level search and facetted asset filtering.
Product Asset NFT Bundling. Category NFT contains an on-chain bundling of children Product Asset NFT's.
Example Marketplace that leverages this ERC-721 Catalog Extension link.
Authors Richard Pedersen (@rpedersen)
Created 2023-05-25
Requires EIP-721, EIP-165, EIP-6059,
Ownable, ERC6059, ERC721URIStorage
Abstract
Concepts:
Composability vs Layering. Layering leads to centralized architecture. Peer Composability with strong API definitions lend better decentralized peer-to-peer management.
Catalog Nested Category NFT's. Category NFT's can be from multiple Contracts.
Category maintains a collection of sub-categories and NFT's. Rather than NFT referencing a category.
Motivation
Specification
abstract contract ERC721CatalogExtension is Ownable, ERC6059, IERC721CollectionMetadata, IERC721CatalogExtension { .. }
ERC6059: enables Catalog to maintain a hierarchy of Category NFT's. enables Category NFT's to manage collection of Product Asset NFT's
IERC721CollectionMetadata: enables Catalog collection to contain metadata
IERC721Metadata: enables Catalog NFT's to contain attribute (trait) type metadata
ERC-721 Catalog extension is based on ERC-6059: Parent-Governed Nestable Non-Fungible Tokens. ERC-6059 provides a hierarchical framework for managing Category NFT Hierarchy and bundling of Product Asset NFT's. Here are the contributers to ERC-6059.
Bruno Škvorc (@Swader)
https://github.com/Swader
RMRK.app
contact@bitfalls.com
https://bruno.id
NFT protocol development team
Cicada (@CicadaNCR)
https://github.com/CicadaNCR
Steven Pineda (@steven2308),
Stevan Bogosavljevic (@stevyhacker),
Jan Turk (@ThunderDeliverer)
Similar Projects to draw ideas from
https://github.com/decentraland/marketplace-contracts
https://github.com/decentraland/schemas
https://github.com/ProjectOpenSea/seaport
https://github.com/ProjectOpenSea/seaport-core
https://github.com/windingtree/contracts
https://github.com/chain4travel
Marketplace toolkits
https://2muchcoffee.com/blog/how-to-build-an-opensea-like-nft-marketplace/
https://www.cs-cart.com/blog/non-fungible-tokens-how-to-start-nft-marketplace-like-opensea/