28个主要版本更新
31.0.0 | 2024年7月18日 |
---|---|
30.0.0 | 2024年7月12日 |
29.0.0 | 2024年6月24日 |
28.0.0 | 2024年5月23日 |
0.0.0 | 2022年12月23日 |
4 in #nft
2,644 每月下载量
用于 8 个crate(7个直接使用)
3MB
52K SLoC
NFTs托盘
用于处理非同质化资产的工具。
概述
NFTs托盘提供了非同质化代币管理的功能,包括
- 创建收藏
- NFT铸造
- NFT转移和原子交换
- NFT交易方法
- 属性管理
- NFT销毁
要在您的运行时使用它,您需要实现 nfts::Config
。
支持的派发函数在 nfts::Call
枚举中进行了文档说明。
术语
- 创建收藏:创建一个新的收藏。
- NFT铸造:在收藏中创建新项目的动作。
- NFT转移:将项目从一个账户发送到另一个账户的动作。
- 原子交换:在不需要第三方服务的情况下,在账户间交换物品的行为。
- NFT销毁:销毁一个物品。
- 非同质化代币(NFT):每个单位具有独特特征的物品。此类物品在存在中只有一个实例,且只有一个拥有账户(尽管该拥有账户可以是代理账户或多重签名账户)。
- 灵魂绑定NFT:从其铸造的账户中不可转移的物品。
目标
Substrate中的NFT组件旨在实现以下功能:
- 允许账户无需许可即可创建NFT系列。
- 允许命名(受许可)账户在系列内铸造和销毁独特物品。
- 无需许可地在账户间转移物品。
- 允许命名(受许可)账户冻结和解除冻结系列内或整个系列的物品。
- 允许物品的所有者委托将物品转让给某些命名的第三方。
- 允许第三方在不拥有NFT的情况下存储信息(例如保存游戏状态)。
界面
无需许可的调派操作
create
:通过存入保证金创建一个新的系列。mint
:在系列内铸造新的物品(当铸造是公开的时)。transfer
:将一个物品发送给新的所有者。redeposit
:更新物品的保证金金额,可能释放资金。approve_transfer
:指定一个可以授权转让的委托人。cancel_approval
:撤销先前approve_transfer
的效果。approve_item_attributes
:指定一个可以更改命名空间内物品属性的代表。cancel_item_attributes_approval
:撤销先前approve_item_attributes
的效果。set_price
:设置物品的价格。buy_item
:购买一个物品。pay_tips
:支付小费,可用于支付创作者版税。create_swap
:创建一个交换NFT的出价,可选地包括一些同质化代币。cancel_swap
:取消先前创建的交换出价。claim_swap
:以原子方式交换物品。
受许可的调派操作
destroy
:销毁一个系列。这将销毁系列中的所有物品并退还保证金。force_mint
:在系列内铸造一个新的物品。burn
:销毁系列内的一个物品。lock_item_transfer
:防止单个物品被转让。unlock_item_transfer
:撤销先前lock_item_transfer
的效果。clear_all_transfer_approvals
:清除通过调用approve_transfer
设置的所有转让批准。lock_collection
:防止系列中的所有物品被转让(使它们全部成为soul bound
)。lock_item_properties
:锁定物品的元数据或属性。transfer_ownership
:更改系列的所有者,移动所有相关的保证金。(单个物品的所有权将不受影响。)set_team
:更改系列的受许可账户。set_collection_max_supply
:更改系列的供应量上限。update_mint_settings
:更新系列的铸造设置。
元数据(受许可)调派操作
set_attribute
:设置物品或系列的元数据属性。clear_attribute
:删除物品或系列的元数据属性。set_metadata
:设置物品的一般元数据(例如图像URL的IPFS地址)。clear_metadata
:移除项目的通用元数据。set_collection_metadata
:设置集合的通用元数据。clear_collection_metadata
:移除集合的通用元数据。
强制(即治理)可调用函数
force_create
:创建新的集合(无法选择集合ID)。force_collection_owner
:更改集合的所有者。force_collection_config
:更改集合的配置。force_set_attribute
:设置属性。
请参阅Call
枚举及其相关变体,以获取每个函数的文档。
相关模块
许可:Apache-2.0
依赖关系
~17–32MB
~533K SLoC