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 参考资料
www.readblocks.com/archives/71136
本作品采用《CC 协议》,转载必须注明作者和本文链接