Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
2022.10 - Substrate 技术更新速递
重要提交和发布
1️⃣ 将 pallet-contracts 适配到 WeightV2
消除 ContractAccessWeight
这是一种用于模拟加载合约产生的巨大 PoV 影响的解决方法。现在通过将设置proof_size为已加载合约的大小来替换它。这是一个低估,但整个系统只是为了防止最严重的违规者。无论如何都缺少其他任何东西的收费,并且会在以后出现。
试运行现在包括,proof_size 以便客户可以使用它来了解 proof_size 事务将消耗多少。
seal_call 并且 seal_instantiate 只允许设置一维权重。最终我们需要添加这些的新版本。但是旧版本也需要修复。当前行为是设置 proof_size 为0那个不是一个好的默认值。它会阻止被调用者做任何有用的事情。此 PR 将其设置 proof_size 为“继承”,这允许它使用总体限制中所有剩余的证明大小。
在添加 2D 权重时,添加了 *_old_weightcompat extrinsics 以允许仍然解码存储中的 extrinsics。但是,它们也设置 proof_size 为0使它们无用。此 PR 设置了一些合理的默认值,以便它们继续工作。此外,还删除了文档和代码中的重复内容。
2️⃣ 合约: 将 dry-run runtime APIs 适配到 WeightV2
Beefy 协议的更新
添加可插入的 BEEFY 荷载构造函数
服务:使用 MmrRootProvider 作为自定义 BEEFY 有效荷载提供程序
简化 pallet-beefy-mmr 的哈希值
Polkadot 发布 v0.9.30 版本: 本次发布等级为低优先级, 可以再方便时升级。摆脱历史上的深度存储,同时使得自动存储存款能够抵御存款价格的变化。
添加 DefensiveTruncateFrom
use frame_support::{BoundedVec, traits::DefensiveTruncateFrom};
use sp_runtime::traits::ConstU32;
let unbound = vec![1, 2, 3];
let bound = BoundedVec::<u8, ConstU32<2>>::defensive_truncate_from(unbound);
assert_eq!(bound, vec![1, 2]); // Truncated to two elements.
补充:
TruncateFrom trait and implementation for BoundedVec+BoundedSlice
DefensiveTruncateFrom trait
Debug impl for BoundedSlice
PartialEq<&'a [T]> impl for BoundedSlice
变化:
Error type of TryFrom<&'a [T]> for BoundedSlice from () to &[T] analogous to BoundedVec
移除 CountedStorageMap 上不必要的 Clone 特质边界
修复 Weight::is_zero
注册者: 避免在 provide_judgement 里使用 freebies
设计方案和问题讨论
文档和资料
第一条平行链成功从 Kusama 迁移到 Polkadot 10 月 3 日,KILT 协议创造了历史,成为第一个完成从 Kusama 中继链到 Polkadot 中继链的完全迁移的平行链。除了标志着一个重要的技术里程碑之外,迁移还代表了平行链从 Kusama 升级到 Polkadot 的第一个实例。
Polkadot 路线图综述 其中包括了异步支持、平行线程、XCM v3、框架:Weights V2、治理改革等等。
Polkadot blockspace Polkadot联合创始人发布博客文章,分享观点“以区块空间为中心的架构将胜过以区块链为中心的架构”。同时 Gavin 也表示,“区块空间是一个有用的抽象,它为链真正提供的产品提供了一个清晰的概念。Polkadot blockspace 结合了质量、灵活性,以及我们新的 Exotic Scheduling 设施,具有无与伦比的经济效率。”
技术生态和社区
Substrate 入门课程第十期正在招募中 由Oneblock 和 Parity 联合出品的 Substrate 区块链应用开发入门课已经开设了9期,获得了近28000名开发者的关注,课程共有3000余位开发者报名参加,获得了大家的一致好评。
入场 Web3 他们后悔了吗?加密领域多赛道初创者漫谈 第四期“黑客松之后,他们去哪儿了”专访直击开发者关切的 Web3 发展前景问题,OneBlock 邀请到 Parallel、Web3Go、Web3Games、NonceGeek、Melody、Echodao 六位初创项目创始人或核心成员,结合他们的 Web3er 之旅的实践经历,展开深度漫谈。
跨链协议
XCM runtime api
加权消息的函数weight_message
将 ML 转换为帐户的功能convert_location
计算为一定重量和资产支付的费用的函数:calculate_concrete_asset_fee
预计 XCM 中权重的变化我创建了一个VersionedWeight枚举,以便 API 不会在发生此变化后中断。另一种选择是删除它,并在 XCM V3 合并后简单地增加 API 版本。