substrate学习笔记2:substrate快速入门

在上一节,我们快速体验一把substrate,使用subtrate搭建了一条链。在本节,我们则对substrate做一个大体的介绍,有利于我们后续学习substrate官方教程的其它例子。

substrate采用模块化的方法进行开发,它定义了一组丰富的原语,给开发人员提供了强大的、熟悉的编程方法。

1 使用方式介绍

使用substrate的方式主要有以下几种:

  • 使用subtrate node

开发者可以运行已经设计好的substrate节点,并配置genesis区块,在此方式下只需要提供一个json文件就可以启动自己的区块链。其实我们上一节的substrate初体验,也可以看成是使用此种方式的一个例子。

  • 使用substrate frame

frame其实是一组模块(pallet)和支持库。使用substrate frame可以轻松的创建自己的自定义运行时,因为frame是用来构建底层节点的。使用frame还可以配置数据类型,也可以从模块库中选择甚至是添加自己定义的模块。

  • 使用substrate core

使用substrate code运行开发者完全从头开始设计运行时(runtime,问题:什么是runtime?),当然此种方式也是使用substrate自由度最大的方式。

2 substrate架构

substrate客户端主要由以下几个组件组成:

  • 存储

用来维持区块链系统所呈现的状态演变。substrate提供了的存储方式是一种简单有效的key-value对存储机制的方式。

  • Runtime

这里就可以回答上面的问题,什么是runtime?runtime定义了区块的处理方式,主要是状态转换的逻辑。在substrate中,runtime code被编译成wasm作为区块链存储状态的一部分。

  • p2p网络

允许客户端和其它网络参与者进行通信。

  • 共识

提供了一种逻辑,能使网络参与者就区块链的状态达成一致。substrate支持提供自定义的共识引擎。

  • RPC

远程过程调用。

  • telemetry(遥测)

通过嵌入式Prometheus服务器的方式对外展示(我理解应该是类似于区块链浏览器一样的东西,或者是提供信息给区块链浏览器展示)。

3 参考资料

substrate.dev/docs/en/

www.readblocks.com/archives/71136

本作品采用《CC 协议》,转载必须注明作者和本文链接
令狐一冲
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!