织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

为什么Compound选择使用Substrate进行独立链的开发(2)

时间:2021-06-11 17:04来源:未知 作者:admin 点击:
了解Rust的这些特性后,我们再去理解“Rust语言几乎已成为当今区块链开发的首选语言”这句话就显得很自然了。区块链本身以安全性为第一位,这点与

  了解Rust的这些特性后,我们再去理解“Rust语言几乎已成为当今区块链开发的首选语言”这句话就显得很自然了。区块链本身以安全性为第一位,这点与Rust的设计理念完全一致。区块链中要做大量的计算,也需要高性能,这点Rust也是当仁不让。区块链系统一般比较复杂,对工程相关基础设施的要求很高,而Rust强大的工程性设计,让其在团队、开源社区开发中,特别适合大型项目的协作。

  以注重安全性闻名的 Paritytech 公司,用 Rust 语言开发了以太坊的 parity 客户端。然后继续用Rust 开发了新项目 Polkadot,在开发 Polkadot 的过程中,逐渐形成了一个重大决定:将区块链的所有功能,拆解成抽象的设计,实现到一个开源的、通用的区块链框架中,并以此框架为工具,构建 Polkadot 产品。而这个区块链框架的重大成果,就是本文的主角——Substrate。

  Substrate是一个用Rust语言开发的以通用性为目标的区块链开发框架。它的设计元素,比如密码学算法、存储结构MPT树,账户体系等,大部分借鉴自有史以来最成功的以太坊的基础设施,(这个可以理解,Paritytech 最早就是做以太坊客户端起家的,Gavin Wood 也是以太坊的联合创始人之一)。一个框架,要做到通用,就需要高度抽象。而高度抽象的代价往往会显得结构复杂,不易于使用。所以 Substrate 也提供了很多 DSL(领域特定语言),方便新手学习使用。简单归纳一下,Substrate具有如下特点:

  1.面向通用。其设计面向通用领域,而不是专为某一条链做开发的 SDK。每个团队都可以使用 Substrate 开发出一条完全独立的不依赖于任何既有网络的链出来(比如,使用Substrate 开发的区块链可以与 Polkadot 无关,这也是 Paritytech 的设计目标之一)

  2.功能全面。能覆盖区块链几乎所有的场景,可以说是目前市面上功能最全面的区块链框架

  3.Runtime 代码编译成 wasm 执行。Wasm是当今区块链业界主流的VM字节码选择

  4.可定制性超强。Substrate 本身是一堆分散的组件,可以在一套规范约束下,自由替换组件,自由组合

  工程设计就是做取舍,当它强调一方面的时候,在另一方面,就会有一定的妥协。Substrate也有自己的不足:

  •   新引入一些概念名词(比如:extrinsic),需要重新学习理解,上手有一定门槛

  •   强调通用,导致在某些方面过于抽象,代码视觉比较复杂(比如泛型参数特别多)。而这些抽象将 Rust 的高级语法特性做了充分的展现,代码噪音较大

  •   整个工程代码量较大,依赖的包非常多(目前有1000多个),导致编译时间比较长(普通笔记本几十分钟以上),对开发机性能要求较高 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容