IRISxiaowang / substrate-bank

MIT No Attribution
0 stars 0 forks source link

Add NFT module #10

Closed syan095 closed 7 months ago

syan095 commented 1 year ago

Learn about what NFT is Create a new NFT pallet., where NFTs can be minted, burned and transferred.

Users can mint new NFTs, each carrying some amount of data (Vec), bounded by a max size (BoundedVec), set as pallet constant via the Config, which can be decoded into other file formats. Manager role can mint NFTs on behalf of the Bank/Chain. All funds obtained from the sale of their NFT (if owner.role == Manager) goes to the Treasury account. Once the NFT is created, they must be approved by an Auditor before they are available to be sold (Filter out harmful NFTs, such as viruses, or inappropriate content). Rejected NFT is automatically burned. Approved NFT is minted into the user's account.

Trading of NFT will be done in separate tickets - either by a "Paid on Delivery" or through an Auction.

Auditor are not allowed to participate in NFT trading.

The owner of the NFT can burn any NFT token they own, where all relevant data are removed from chain storage.