Open bedeho opened 2 years ago
We decided to not do this until project_token
pallet was done, as it will be a solid guide for how to split state and do integration cleanly.
Splitting up into two separate tasks
We only do 2 if one seems safe, simple and promising.
Background
Currently, we have NFTs fully backed into the content pallet, specifically into the videos/content of each pallet.
Question
What if we factored out the NFT functionality into its own pallet.?
This would basically entail that we create a new pallet, call it
nft
, which has public methods for issuing and de-issuing nfts, which can be called from any other module in the runtime. Then, all the user facing actions around managing nft ownership/bidding etc., is done through extrinsics in that pallet, and those actions are authenticated using normal membership authenticator.It would have the following benefits
content
pallet, which is getting very large, and all of the nft functionality is generally quite orthogonal.It would have the disadvantage of introducing a type-system discontinuity at the pallet boundry, as always, having to do with actions like issuing or de-issuing NFTs, but that seems managable. Its the same situation we will have for
project_tokens
.It should not have any effect on QN/CLI/Atlas, beyond very superficial changes around which pallet has extrinsics.
┆Issue is synchronized with this Asana task by Unito