2020.10 – Substrate 技术更新速递

2.0.0 版本发布 ,PoW 共识替换了基于线程的挖矿机制,转而使用基于future的机制 ,Manual seal 可支持多种共识算法

## 重要提交和发布 * [2.0.0 版本发布](https://link.zhihu.com/?target=https%3A//www.parity.io/substrate-2-0-is-here/) - Substrate的重要里程碑,整个版本包含了70多个组件,功能更加稳定,性能也更优,已经用于多个线上的生产环境。 * [Node template 新增了 benchmarking 的支持](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7122) - 基于 node template 的测试链可以直接编译,进行基准测试,计算交易权重。 * [democracy 治理模块,新增取消提案功能](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7111) - 拥有权限的用户或者集合可以发送交易`cancel_proposal`,`blacklist`将公投提案取消或者加入黑名单。 * [Treasury 赏金功能完成](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/issues/5713) - 用户可以发布赏金提案,预留国库的资金,并跟踪任务的状态。 * [PoW 共识替换了基于线程的挖矿机制,转而使用基于future的机制](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7060) - Substrate共识相关的代码更加简洁,仅包含PoW所必须的元信息,而不用关心挖矿的具体方式。 * [subkey generate-node-key 支持非文件输出](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7043) - 用户在启动节点时,可以选择是使用传入文件还是使用文本指定node-key。 * [wabt 替换为 wat](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7043) - 两者都是WebAssembly文本的解析器,wat 是完全由Rust语言编写的。 * [Manual seal 可支持多种共识算法](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7010) - 与其它区块生成算法如BABE结合,可通过发送RPC请求来生成区块。 * [generic-asset pallet 已删除](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7156) - 原因是长期未维护,不建议用于生产环境,并且有了新的替代方案。 ## 设计方案讨论 * [Pallet Actors: 通过消息传递实现异步智能合约](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/6202) - 基于Actor智能合约模型是基于账户模型智能合约的替代,它设计上更加安全、高效,也容易做到向后的兼容。Actor编程模型常见于异步编程,你可以想象成一个餐厅,收银员将顾客的菜单放在厨房门口,厨师收到菜单并做菜,做好的菜放在橱窗上等待服务生拿走给到顾客。 * [实现 pallet 版本管理](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7208) - pallet 的版本将会存储为链上状态,当升级runtime时,该版本会自动更新,且可供runtime升级时校验。 * [废弃和删除Substrate Native Runtime 优化](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/issues/7288) - 众所周知,runtime有两个类型,一个是wasm,另一个是native,在Substrate的早期,wasm版本执行效率极低,需要依赖native版本来保证可靠的出块。但到现在,wasm的执行效率已经不是一个问题,且无分叉升级中出现wasm比native版本更高是预期的,所以是时候删除native runtime了,让代码简洁易维护,也更容易推断。 ## 文档和资料 * [Frame Benchmarking 设计文档更新](https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate/pull/7121) - 包括了为什么要进行benchmarking,一些设计的理念,使用的方法和技巧等。 * [教程:构建一个许可区块链](https://link.zhihu.com/?target=https%3A//substrate.dev/docs/en/tutorials/build-permission-network/) - 许可链和联盟链是区块链技术的一个重要探索,`node-authorization` pallet 让基于Substrate构建一个许可链变成可能。 * [在Polkadot网络上获取平行链插槽](https://link.zhihu.com/?target=https%3A//polkadot.network/obtaining-a-parachain-slot-on-polkadot/) - 平行链的成本和获取方式,如何筹集资金,如果没有获得插槽应该怎么办,平行链的收集人激励机制,开发路线等。 * [Awesome Substrate](https://link.zhihu.com/?target=https%3A//github.com/substrate-developer-hub/awesome-substrate) - 更新加快,资料更全。 ## 技术生态和社区 * [2020年10月15日,Sub0 线上活动](https://link.zhihu.com/?target=https%3A//sub0.parity.io/) - Substrate核心开发者分享最新的进展和知识,有现场直播,也可以会看录像。 * [Polkadot Hello World 挑战赢奖励](https://link.zhihu.com/?target=https%3A//polkadot.network/hello-world-by-polkadot-take-the-challenge/%3Futm_source%3Dtwitter%26utm_medium%3Dsocial%26utm_campaign%3DHelloWorld) - 既能从基础开始学习开发知识,还能获取数字货币的奖励。 * [Open Runtime Module Library (ORML) 工作坊更新](https://link.zhihu.com/?target=https%3A//github.com/xlc/orml-workshop) - ORML 包含了一些通用的模块,如资产,nft,预言机等,通过本工作坊熟悉相关的模块。 * [Substrate 区块链开发入门第二期课程开始招生](https://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/B__m6MGPVgMDWam6tcuZ1w) - 从0开始学习如何使用Substrate开发一条自己的区块链。 ## 跨链协议 * [XCM (Polkadot Cross-Consensus Message)实现正在逐渐完善](https://link.zhihu.com/?target=https%3A//github.com/paritytech/polkadot/issues/1783) - XCMP是Polkadot的跨链消息传输机制,[跨链消息的格式](https://link.zhihu.com/?target=https%3A//github.com/paritytech/xcm-format)现在处于version 0,包括多格式资产的定义和平行链之间资产转移等操作。 * 平行链测试网 rococo 的实验用例,[调用合约](https://link.zhihu.com/?target=https%3A//twitter.com/bkchr/status/1296369577551638529),[跨链转账](https://link.zhihu.com/?target=https%3A//twitter.com/gavofyork/status/1304849064891158528) - 这是Polkadot跨链网络missing block的最新进展。

重要提交和发布

  • 2.0.0 版本发布 - Substrate的重要里程碑,整个版本包含了70多个组件,功能更加稳定,性能也更优,已经用于多个线上的生产环境。
  • Node template 新增了 benchmarking 的支持 - 基于 node template 的测试链可以直接编译,进行基准测试,计算交易权重。
  • democracy 治理模块,新增取消提案功能 - 拥有权限的用户或者集合可以发送交易cancel_proposalblacklist将公投提案取消或者加入黑名单。
  • Treasury 赏金功能完成 - 用户可以发布赏金提案,预留国库的资金,并跟踪任务的状态。
  • PoW 共识替换了基于线程的挖矿机制,转而使用基于future的机制 - Substrate共识相关的代码更加简洁,仅包含PoW所必须的元信息,而不用关心挖矿的具体方式。
  • subkey generate-node-key 支持非文件输出 - 用户在启动节点时,可以选择是使用传入文件还是使用文本指定node-key。
  • wabt 替换为 wat - 两者都是WebAssembly文本的解析器,wat 是完全由Rust语言编写的。
  • Manual seal 可支持多种共识算法 - 与其它区块生成算法如BABE结合,可通过发送RPC请求来生成区块。
  • generic-asset pallet 已删除 - 原因是长期未维护,不建议用于生产环境,并且有了新的替代方案。

设计方案讨论

  • Pallet Actors: 通过消息传递实现异步智能合约 - 基于Actor智能合约模型是基于账户模型智能合约的替代,它设计上更加安全、高效,也容易做到向后的兼容。Actor编程模型常见于异步编程,你可以想象成一个餐厅,收银员将顾客的菜单放在厨房门口,厨师收到菜单并做菜,做好的菜放在橱窗上等待服务生拿走给到顾客。
  • 实现 pallet 版本管理 - pallet 的版本将会存储为链上状态,当升级runtime时,该版本会自动更新,且可供runtime升级时校验。
  • 废弃和删除Substrate Native Runtime 优化 - 众所周知,runtime有两个类型,一个是wasm,另一个是native,在Substrate的早期,wasm版本执行效率极低,需要依赖native版本来保证可靠的出块。但到现在,wasm的执行效率已经不是一个问题,且无分叉升级中出现wasm比native版本更高是预期的,所以是时候删除native runtime了,让代码简洁易维护,也更容易推断。

文档和资料

  • Frame Benchmarking 设计文档更新 - 包括了为什么要进行benchmarking,一些设计的理念,使用的方法和技巧等。
  • 教程:构建一个许可区块链 - 许可链和联盟链是区块链技术的一个重要探索,node-authorization pallet 让基于Substrate构建一个许可链变成可能。
  • 在Polkadot网络上获取平行链插槽 - 平行链的成本和获取方式,如何筹集资金,如果没有获得插槽应该怎么办,平行链的收集人激励机制,开发路线等。
  • Awesome Substrate - 更新加快,资料更全。

技术生态和社区

  • 2020年10月15日,Sub0 线上活动 - Substrate核心开发者分享最新的进展和知识,有现场直播,也可以会看录像。
  • Polkadot Hello World 挑战赢奖励 - 既能从基础开始学习开发知识,还能获取数字货币的奖励。
  • Open Runtime Module Library (ORML) 工作坊更新 - ORML 包含了一些通用的模块,如资产,nft,预言机等,通过本工作坊熟悉相关的模块。
  • Substrate 区块链开发入门第二期课程开始招生 - 从0开始学习如何使用Substrate开发一条自己的区块链。

跨链协议

  • XCM (Polkadot Cross-Consensus Message)实现正在逐渐完善 - XCMP是Polkadot的跨链消息传输机制,跨链消息的格式现在处于version 0,包括多格式资产的定义和平行链之间资产转移等操作。
  • 平行链测试网 rococo 的实验用例,调用合约,跨链转账 - 这是Polkadot跨链网络missing block的最新进展。

区块链技术网。

  • 发表于 2020-10-30 11:15
  • 阅读 ( 943 )
  • 学分 ( 29 )
  • 分类:Polkadot

评论