前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从第一行代码到发链只需一小时,用这款新工具,你也能做到

从第一行代码到发链只需一小时,用这款新工具,你也能做到

作者头像
区块链大本营
发布2018-12-11 09:48:58
5230
发布2018-12-11 09:48:58
举报
文章被收录于专栏:区块链大本营

古罗马,“乘法”是只有御用数学家才能理解的深奥概念——而当阿拉伯数字出现,孩童亦能于纸上演算。

新工具不仅提升效率,还可为前人所不能。作为活跃开发领域之一,区块链新技术、工具、平台、语言与框架层出不穷,然而面对纷繁复杂的选择,开发者难以面面俱到。《区块链大本营 | 新工具》栏目每周将为开发者介绍最值得关注的新技术与工具。未来,我们还将多角度、系统地为项目选型提供指南。


“这是应对区块链极繁主义的最好手段”

——Parity创始人Gavin Wood如是说,他也是Ethereum创始人和Solidity设计者之一。

上周,Gavin在柏林Web3峰会现场演示了一种新框架——Substrate。他使用一台刚启封的Macbook Pro,从编写第一行代码,到发布区块链,用时不足60分钟。Substrate目的是让发布区块链就像发布智能合约一样容易。

最大自由,最少代价

Parity的明星项目Polkadot就是基于Substrate构建的——前者是一种由多条链,异构组成的区块链集合,其目的是成为不同区块链间的媒介。Substrate先前的主要目的是让开发者能在Polkadot上快速启动平行链,不过Substrate框架本身还具备发布独立区块链的能力,这让它成为独立于Polkadot的项目,不依赖后者的开发进度,本月晚些时候,Substrate 1.0-beta将会公开发布。

与Express或其他Web应用框架类比,Substrate是用来构建分布式或去中心化系统的,如加密货币项目或消息总线系统。就如大多数Web应用程序不需要重新实现HTTP一样,Gavin Wood认为,所有人都从头构建网络和共识代码,非常浪费精力。使用Substrate来构建新项目,开发者所要做的,就是在代码调用少量函数,就能获得各种密码学模板,以及定制、搭建和发布新区块链所需要的方方面面,“Substrate为区块链开发者提供最大限度的自由,花费最少的精力”。

高通用技术栈

Substrate在设计时,考虑了支持大多数现有和未来可能出现的区块链应用场景。其技术栈主要由以下几个具备高通用和扩展潜能的部分组成。

1. 对区块链应用架构来说,State Transition Function(STF)代表其核心商业逻辑,STF的功能集合、有何种限制,决定了区块链的应用场景。Substrate运行时采用WebAssembly的一个子集,具有跨平台和轻量的特点。在1.0-beta版本中,开发者可以使用纯Rust、C++和C编写STF;通过WebAssembly支持的其他语言,将在后续引入。

2. 网络部分基于Libp2p,开箱即用。对于需要其他网络消息支持的区块链应用,未来版本的Substrate计划引入一个网络拓扑API。

3. 为了适应快速应用开发,Substrate支持包括Polkadot SHAFT(GRANDPA)在内的多种共识算法。密码学数据库后端及块格式,都可以定制或重写。在1.0-beta版本中,将包含以下几类共识算法,当然开发者还可以通过Substrate API设计自己的共识算法。

  • Rhododendron
  • SHAFT/GRANDPA
  • Aurand
  • Ouroboros
  • PoW
  • Parachain(PoV)

Substrate提供的其他工具还包括:

  • Polkadot连接
  • 可以热替换和插入的共识机制
  • 可以热升级和插入的STF
  • Pub/Sub WebSocket JSON-RPC
  • 轻量客户端
  • 交易队列
  • 安全网络
  • JavaScript实现
  • Substrate运行时模块库(SRML)

因为具备一系列链上热升级机制,无论修改共识算法还是升级STF,开发者都无需硬分叉。作为例证,今年7月17日,Polkadot的“Krumme Lanke”测试网络进行过公开演示,至今依然正常运行。

创建Substrate运行时模块库(SRML)的目的,是为了帮助开发者更迅速地发布区块链。开发者只需要将一组模块集合,便能实现相应的网络、共识、轻客户端或者其他需要的功能,新功能可以通过创建新模块实现。

SRML之外,Substrate在设计中还额外引入了两层逻辑:

1. 可通过JSON配置的通用区块链节点,用于执行其运行时;

2. 一个精简的区块链内核引擎,用于处理共识、块生成、网络、数据库等功能。

此外,企业和金融敏感用户关注的高级隐私和权限管理,也能轻松加入并通过Substrate进行控制,而无需与Polkadot产生瓜葛,并通过桥接或成为原生Parachain的方式升级。

注:Substrate项目地址为https://github.com/paritytech/substrate

--【完】--

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 区块链大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档