Collections
A Collection has following characteristics:
- It groups together a set of items.
- It can be deployed or linked to a smart contract on a network supported by CNFT.
- It implements a specific token standard, being either
ERC721
orERC1155
. - It has a token ID assignment strategy, which determines how the items within the collection receive their token IDs.
- It enables different functionalities based on the contract your deploy.
Token ID Assignment Strategy
Token ID Assignment Strategy | Contract Support | Item Locking | Contract Mint function |
---|---|---|---|
AUTOMATIC | ERC721, ERC1155 | Automatically assigns a token ID when locking an Item. | Expects a token ID when calling the mint function. Token with the ID is minted from the contract. |
MANUAL | ERC721, ERC1155 | Requires manually passing a token ID when locking an Item. | Expects a token ID when calling the mint function. Token with the ID is minted from the contract. |
EXTERNAL | ERC721 | No token ID required when locking an Item. | Expects no token ID when calling the mint function. Token ID will be assigned during the mint function. |
Contract setup
The following table lists the different ways to configure the smart contract for a collection.
Contract type | Description |
---|---|
Platform | The platform provides a few default contracts that a user can choose from, including StandardERC721 , StandardERC1155 , FrozenERC721 , FrozenERC1155 , FlexibleERC721 , FlexibleERC1155 , and SignatureERC721 . See more on using platform contracts. |
Custom | The user provides a custom smart contract implementation subject to restrictions below. This is also known as Bring your own contract (BYOC). |
External | The user links the collection to an existing smart contract on a network supported by CNFT. |
Learn how to configure collection contracts.
Restrictions
To ensure that a custom contract is compatible with the platform, the deployment process will check for specific capabilities. Capabilities are determined by the contract's ABI. You can get the known capabilities ABIs from the public capabilities
endpoint.
To determine the token type of the contract, the contract must have one of the following capabilities:
ERC721
ERC1155
To mint NFTs through the platform, the contract must have one of the following capabilities:
ADMIN_MINT_SINGLE
ADMIN_MINT_SINGLE_URI
ADMIN_MINT_MULTIPLE
ADMIN_MINT_MULTIPLE_NO_ID
MINT_VOUCHER