node aggregator.js
node register.js
node issuer.js
node define.js
node update-cota-metadata.js
node mint.js
node claim.js
node update.js
Register CoTA cell firstly
1. Alice & Bob & Tom ----------------------------------> Alice CoTA cell & Bob CoTA cell & Tom CoTA cell
Define CoTA NFT Mint CoTA NFT A to receivers
2. Alice -----------------------> NFT A -----------------------------------> Receivers (Bob)
Claim NFT A Withdraw NFT A to Tom
Action1 |-------------------------> Bob hold NFT A now ----------------------------------> Bob doesn't hold NFT A now
| Transfer NFT A to Tom
3. Bob Action2 |-----------------------------------> Bob doesn't hold NFT A now
| Update CoTA NFT A information
Action3 |-----------------------------------> Bob hold CoTA NFT A with new information
Claim NFT A Withdraw NFT A to other receivers
Action1 |-------------------------> Tom hold NFT A now ----------------------------------> Tom doesn't hold NFT A now
4. Tom | Transfer NFT A to other receivers
Action2 |-----------------------------------> Tom doesn't hold NFT A now
- Registry: Every address should be registered firstly
- Define: The issuer can define a collection NFTs with total/name/description/image etc.
- Mint: The issuer mint the defined NFTs to the receivers (withdraw to the receivers actually)
- Claim: The receiver can claim the NFT from the mint, and now the receiver hold the NFT
- Update: The holder of NFT can update the information (characteristic/state etc.)
- Withdraw: The holder of NFT can withdraw the NFT to any other CKB address
- Transfer: To simplify, transfer combines the claim and withdraw into one operation. The receiver can claim the NFT from the mint and withdraw the same NFT to others in a transaction.
- aggregator example: Fetch CoTA NFT data(include issuer/NFT class info) from Aggregator server
- registry example: Generate registering CoTA cells transaction
- issuer example: Generate setting issuer information transaction
- define example: Generate setting cota information and defining CoTA cells transaction
- mint example: Generate minting CoTA NFT transaction
- claim example: Generate claiming CoTA NFT transaction
- withdraw example: Generate withdrawing CoTA NFT transaction
- transfer example: Generate transferring CoTA NFT transaction
- update example: Generate updating CoTA NFT information transaction
- claim&update example: Generate claiming and updateing CoTA NFT transaction
- transfer&update example: Generate transferring and updating CoTA NFT transaction