NFT Collectibles ERC-1155 Application Workflow
In this scenario, non-fungible tokens (NFTs) represent works of art for sale in a marketplace.
The NFT collectibles scenario supports minting, selling, and reselling artworks represented by NFTs. Curators mint NFTs and list them for sale. The ERC-1155 version of this scenario adds support for fractional ownership, royalty distribution, and token burning. Multiple token IDs and quantities can be managed by a single contract, which enables batch minting and burning operations.
| Actor | Role | Description |
|---|---|---|
| Administrator | Token Admin | Initializes the system,creates accounts, assigns the minter role. |
| Curator | Minter | Mints artwork NFTs and posts them for sale. |
| Consumer | none | Buys and sells artwork NFTs by using ETH coins. Consumers can burn their NFTs to redeem them or remove them from circulation. |
The administrator completes the following steps to initialize the system.
- Register organizations by using the
registerOrgAPI. - Create accounts by using the
createAccountAPI. - Assign the minter role to the curator by using the
addRoleAPI.
After the system is initialized, a typical process flow follows these basic steps.
- Mint an NFT and list it for sale.
- Curators use the
mintBatchAPI to mint art collection NFTs. - Curators use the
postAPI to set the price for an NFT and post it for sale in the marketplace.
- Curators use the
- Purchase and resell NFTs.
- Buyers and sellers use the
createTokenAccountAPI to create consumer accounts for fungible and non-fungible tokens on the platform. - Buyers use the
buyWithEthCoinAPI to buy the NFT with Ethereum. The purchased NFT is transferred to the buyer's account and is no longer for sale. - Optionally, buyers can use the
postAPI to set a new price for an NFT and post it for resale in the marketplace.
- Buyers and sellers use the
- Burn NFTs.
- Consumers can use the
burnBatchAPI to redeem the NFT or permanently remove it from circulation.
- Consumers can use the
- Verify token balance.
- Users can use the
getAccountAPI to get their account details, including their NFT holdings.
- Users can use the