NFT
简介
NFT
提供了将资产进行数字化的能力。通过该模块,每个链外资产将被建模为唯一的链上资产。
链上资产用 ID
进行标识,借助区块链安全、不可篡改的特性,资产的所有权将得到明确。资产在成员间的交易过程也将被公开地记录,以便于追溯以及争议处理。
资产的元数据(metadata
)可以直接存储在链上,也可以将其在链外存储源的 URI
存储在链上。资产元数据按照特定的 JSON Schema 进行组织。这里是一个元数据 JSON Schema 示例。
资产在创建前需要发行,用以声明其抽象属性:
Denom:即全局唯一的资产类别名
Denom ID:Demon的全局唯一标识符
元数据规范:资产元数据应遵循的 JSON Schema
每一个具体的资产由以下元素描述:
Denom:该资产的类别
ID:资产的标识符,在此资产类别中唯一;此 ID 在链外生成
元数据:包含资产具体数据的结构
元数据 URI:当元数据存储在链外时,此 URI 表示其存储位置
功能
发行
指定资产 Denom ID(资产类别ID)、元数据 JSON Schema,即可发行资产。
CLI
iris tx nft issue <denom-id> --from=<key-name> --schema=<schema-content or path/to/schema.json> --chain-id=<chain-id> --fees=<fee>
增发
在发行资产之后即可增发(创建)该类型的具体资产。需指定资产 ID、接收者地址和URI。
CLI
iris tx nft mint <denom-id> <token-id> --uri=<uri> --recipient=<recipient> --from=<key-name> --chain-id=<chain-id> --fees=<fee>
编辑
可对指定资产的元数据进行更新。
CLI
iris tx nft edit <denom-id> <token-id> --uri=<uri> --from=<key-name> --chain-id=<chain-id> --fees=<fee>
转移
转移指定资产。
CLI
iris tx nft transfer <recipient-address> <denom-id> <token-id>
销毁
可以销毁已创建的资产。
CLI
iris tx nft burn <denom-id> <token-id> --from=<key-name> --chain-id=<chain-id> --fees=<fee>
查询指定的资产类别
根据 Denom ID查询资产类别信息。
CLI
iris q nft denom <denom-id>
查询所有资产类别信息
查询已发行的所有资产类别信息。
CLI
iris q nft denoms
查询指定类别资产的总量
根据 Denom ID查询资产总量;接受可选的 owner 参数。
CLI
iris q nft supply <denom-id> --owner=<owner>
查询指定账户的所有资产
查询某一账户所拥有的全部资产;可以指定 Denom ID参数。
CLI
iris q nft owner <address> --denom-id=<denom-id>
查询指定类别的所有资产
根据 Denom ID查询所有资产。
CLI
iris q nft collection <denom-id>
查询指定资产
根据 Denom ID以及 ID 查询具体资产。
CLI
iris q nft token <denom-id> <token-id>