当前位置:网站首页>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 原创组彭亚伦文章, 未经许可, 请勿转载.
边栏推荐
- 产品结构设计优化模具简化结构总结
- 微软 .NET Core 3.1 年底将结束支持,请升级到.NET 6
- 不安装运行时运行 .NET 程序
- <IDEA 使用小技巧&&常用键联合操作>
- 110+ public professional datasets summarized
- PADS generates bitmap
- Optimization of a piece of JDBC code (Part 1)
- What you should know about futures account opening
- A48基于NRF24L01的无线心率血氧体温检测
- 2.1, pay attention to the network based on parallel context scenario text image super-resolution
猜你喜欢
随机推荐
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
PADS生成位号图
.NET静态代码织入——肉夹馍(Rougamo) 发布1.1.0
3种特征分箱方法!
Insert a number and sort "Suggested Favorites"
Optimization of a piece of JDBC code (Part 1)
<IDEA using tricks & & combined operation of common keys>
中科院打脸谷歌:普通电脑追上量子优越性,几小时搞定原本要一万年的计算...
如何仿造一个websocket请求?
什么是控制板定制开发?
价值10亿美元 美国向乌克兰提供单次最大规模安全援助
dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理
快捷键修改typora字体----自制脚本
Sigrity PowerSI Characteristic Impedance and Coupling Simulation
【.NET 6】开发minimal api以及依赖注入的实现和代码演示
使用SourceTree添加SSH公钥并克隆码云项目(笔记整理篇)
What is control board custom development?
现在,怎么挑选舞台租赁LED显示屏?
2.1、基于并行上下文注意网络的场景文本图像超分辨率
硬件开发的发展前景