当前位置:网站首页>Substrate 源码更新导读八月第1周: 新版事务化存储层启用默认模式, Polkadot v0.9.27发布
Substrate 源码更新导读八月第1周: 新版事务化存储层启用默认模式, Polkadot v0.9.27发布
2022-08-09 16:19:00 【InfoQ】
Beefy协议改用版本化确定性通讯验
BEEFY协议是基于GRANDPA最终性协议之上的辅助协议。该协议允许Substrate链使用GRANDPA最终性协议来桥接非Substrate链(现在主要支持ETH主网).
在Beefy Pallets中, 节点在GRANDPA共识确定性过程中, 以下验证者之间的知会channel会使用
SignedCommitments :
- block-import <-> voter channel
- voter <-> RPC-worker channel
- RPC public API
尽管目前的Beefy协议验证者通讯层只有一种实现, 但考虑将来可能出现的版本化问题, 类似于XCM各个版本兼容性的方式, 同样在此处也改用了
VersionedFinalityProof结构, 从此结构源码可以轻易看出, 这就是将原来
SignedCommitmentss版本化了.
#[derive(Clone, Debug, PartialEq, codec::Encode, codec::Decode)]
pub enum VersionedFinalityProof<N, S> {
#[codec(index = 1)]
/// Current active version
V1(SignedCommitment<N, S>),
}
本次改动同时修改了Beefy协议的rpc api接口:
pub struct Beefy<Block: BlockT> {
- signed_commitment_stream: BeefySignedCommitmentStream<Block>,
+ finality_proof_stream: BeefyVersionedFinalityProofStream<Block>,
beefy_best_block: Arc<RwLock<Option<Block::Hash>>>,
executor: SubscriptionTaskExecutor,
}本次调整也已经并入polkadot主分支了.
详情:
https://github.com/paritytech/substrate/pull/11962
相关:
https://github.com/paritytech/polkadot/pull/5852
简化新版事务化存储层使用, 并启用默认模式
自
#11431
以来, 新版的事务化存储层已经逐步得到应用, 为了将其贯彻替换旧版本, 本次更新对
frame_support 做了一些改动, 使得新版储存层成为默认方式, 之前的
in_storage_layer, 和
DispatchWithStorageLayer traits 弃置, 改为熟悉的
with_storage_layer.这个改动让开发者在调用Call分派时, 更清楚知道是否使用事务化存储功能; 但目前
#[transactional] 宏是否去除目前还没有定论.
详情:
https://github.com/paritytech/substrate/pull/11918
node-runtime
更名为
node-kitchensink-runtime
这是比较特别的调整,
kitchensink 在英语中的意思比较丰富, 但在此处表达的意思是'演示, demo"之类的意义, 大致上说表达不能用于生产环境, 仅仅是作为演示作用的意思.
开发基于substrate的链, 通常会从
substrate-node-template 开始, 而在substrate repo本身的node模块, 本质上是没有做过生产环境适用测试的, 仅仅是技术演示作用. 因此本次将改名虽然乍一看有点诡异, 但也算是合情合理.
详情:
https://github.com/paritytech/substrate/pull/11930
substrate-node-template 地址:
https://github.com/substrate-developer-hub/substrate-node-template
Polkadot发布v0.9.27版本
本次虽然是小版本发布, 但是等级为中级, 需要相关项目方在一定时间内做出相应调整, 其中包含的最主要的重点更新是
#5798 以及相关的
paritytech/cumulus#1433
更新, 该更新主要是对
Westend xcm中开启了平行链集(Collectives parachain)的
teleporter 功能.
发布详情页:
https://github.com/paritytech/polkadot/releases/tag/v0.9.27
本文属于 SEP Creation 原创组彭亚伦文章, 未经许可, 请勿转载.
边栏推荐
猜你喜欢
随机推荐
What is hardware integrated development?What are the cores of hardware integrated development?
微服务:事务管理
总结了 110+ 公开专业数据集
ABP 6.0.0-rc.1的新特性
B024 – STM32温湿度控制体温检测烟雾报警系统
Use SourceTree to add SSH public key and clone the code cloud project (note finishing)
【.NET 6】开发minimal api以及依赖注入的实现和代码演示
Lagrange插值公式matlab实现
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
【教程3】疯壳·ARM功能手机-整板资源介绍
3种特征分箱方法!
TMin - TMin是否产生溢出
MASA Stack 第三期社区例会
Sigrity PowerSI 特征阻抗和耦合度仿真
Lagrange interpolation formula matlab implementation
贫血模型与充血模型
.NET静态代码织入——肉夹馍(Rougamo) 发布1.1.0
ceph部署
打印星型图「建议收藏」
在 C# 中如何检查参数是否为 null









