Substrate 源码追新导读: 5 月中旬: Uniques NFT 模块和 Nomination Pool
本文记录了波卡生态中重要 Repo 在 2022 年 5 月第三周的技术更新.
Uniques 模块中 collection 新增最大供应量
Uniques
模块是波卡系中用于构建 NFT 相关应用的基础模块, 著名的 Uniques Network, 和 RMRK 标准都是基于此 frame 开发. 本周, 开发者为其中的Collection
部分增加了最大供应量的相关代码实现, 开发者认为, 通常一个收藏集在拥有了一个最大收藏数之后, 会更具价值; 因此提供了CollectionMaxSupply
的 Map 类型以及相关的配置和 dispatch 方法, 用于实现这一功能. 并且在 cumulus 中实现了关联代码.
详情: https://github.com/paritytech/substrate/pull/11441
Uniques 使用通用的 NFT 术语Items
和Collections
之前Uniques
模块一直使用的是classes
和instances
这两个术语名称, 而 NFT 领域通常的叫法则是Collections
和items
, 本周对此进行更新, 以跟符合行业习惯. 相关 API 接口也统一做了修改
详情: https://github.com/paritytech/substrate/pull/11389
账户转换 trait 的 API 调整
AccountIdConversion
trait 是用于AccoutId
的转换接口, 但是使用中, 如果传入的用于转换的种子参数比AccountId
类型更大的话(比如 u64
), 那么就会经常出现转换后生成的账户跟需要被转换的账户一致, 导致出错. 现在为了利于开发者理解, 将原来的类似into_account
更名为into_account_truncating
来显性明示使用该方法的风险, 同时提供一些try_into..
的方法.
详情: https://github.com/paritytech/substrate/pull/10719
Nomination Pools 新增 MinPointsToBalance
常量
本周 Nomination Pools 继续更新, 这次新增加一个常量MinPointsToBalance
, 用于设置最低加入的余额. 之前该值是硬编码为 10, 现在改为可以自行配置的常量. 具体用法目前还不明晰, 需要等待后续更新文档.
详情: https://github.com/paritytech/polkadot/pull/5520
Parachain 模块中去掉多余的AccountIdConversion
trait
其实这个 trait 在上面已经讲过, 存在于sp-runtime
中, 这次又发现在Polkadot
的parachain
模块中, 有重复实现, 非常多余; 因此将其删除, 改为调用sp-runtime
的.
WASM 切换到池化 copy-on-write 实例化策略
目前的实例化策略是使用wasmtime
执行器的默认策略, 现在切换到wasmtime
的原生池化策略配合 copy-on-write, 更快且开发更高效不易出错, 同时PVF
的默认实例策略也改为使用copy-to-write
内存, 并新增-wasm-instantiation-strategy
命令行参数, 用于设置不同的实例化策略, 比如可以通过-wasm-instantiation-strategy=legacy-instance-reuse
来执行原来的实例化策略.
详情: https://github.com/paritytech/substrate/pull/11232
本文为 SEP Creation 原创组文章, 作者彭亚伦
未经许可, 请勿转载.
版权声明: 本文为 InfoQ 作者【彭亚伦】的原创文章。
原文链接:【http://xie.infoq.cn/article/9e621c8dcee23ba1974eb45ef】。文章转载请联系作者。
评论