1. 定义

Substrate是一个具备区块链核心要素(例如数据存储,p2p通讯,共识算法,密码学组件等)、可用于构建开源、模块化和可扩展区块链的基础技术框架。

Substrate把一个区块链运行所需要的各个模块拆解开,具备可扩展性、模块化、开源、自主可控的特性。开发者可以方便地通过编写runtime(好比一种更高级的智能合约)来修改如加密、共识等模块构建自己的区块链。

  • 核心模块:数据库、加密算法、交易队列、命令行界面、公/私钥生成、RPC等
  • 基本逻辑:数据结构、结算、时间戳、分片等
  • p2p网络:网络节点管理、私讯协议集成、分布式哈希表
  • 共识机制:抵押、Babe、Grandpa、区块落实追踪
  • 治理、升级模型:链上逻辑升级、链上治理
  • dapp:智能合约(联盟链定制化)

2.设计架构

2.1 Runtime组件

定义如何处理区块,包括状态转换逻辑。

  • runtime代码被编译为Wasm并成为区块链存储状态的一部分
  • 利用Wasm特性实现无分叉链上升级。

2.2 Substrate客户端

Substrate客户端既是针对与客户端本身相同的平台(而不是Wasm)编译的“本地runtime”, 将调用调度到runtime客户端组件的执行程序,它在本机代码和解释Wasm之间进行选择。尽管本地runtime可能会提供性能优势,但是如果执行程序实现了较新的WASM版本,则执行程序将选择解释Wasm来执行。

2.3 存储组件

用于维持以区块链为代表的分布式系统的交易状态。区块链网络使参与者利用共识机制在不可信环境下达成状态存储。Substrate采用一种简单且高效的键值存储机制。

2.4 P2P点对点网络组件

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

  • 使用libp2p网络协议栈。
  • 支持模块化、自定义共识引擎。

2.5 RPC(远程过程调用)组件

允许区块链用户与链上网络交互,提供HTTP和WebSocket RPC接口服务。

2.7 遥测组件

通过嵌入Prometheus 服务,能够将区块链网络指标对外暴露

substrate 区块链框架 (1)概述相关推荐

  1. Substrate区块链框架学习小组

    Substrate框架是什么 Substrate是一个由Rust语言写的区块链开发框架,是目前业界最强大,特性最丰富的区块链框架之一.使用Substrate,你可以很方便地搭建出一条链(solo链). ...

  2. 阿里、中兴、中国联通打造物联网区块链框架

    3月22日讯,据Bitcoins Channel报道,中国电商巨头阿里巴巴集团.跨国电信公司中兴.中国联通以及中国工业和信息化部即将联合起来共同打造一个物联网区块链框架. 这些公司已经接触了联合国负责 ...

  3. 工信部与阿里牵头即将联合打造物联网区块链框架

    据Bitcoins Channel报道,中国电商巨头阿里巴巴集团.跨国电信公司中兴.中国联通以及中国工业和信息化部即将联合起来共同打造一个物联网区块链框架. 这些公司已经接触了联合国负责国际电信事务的 ...

  4. 区块链框架:迅雷链VS石墨烯

    迅雷链(Thunder Chain)是由迅雷旗下网心科技打造的超级区块链平台,是全球最大规模ToC区块链商业生态,赋能实体经济,致力于成为ToC现象级区块链应用的摇篮.迅雷链具备全球领先的百万TPS高 ...

  5. 创建您的第一个Substrate区块链

    区块链软件使单个计算机(称为节点)能够相互通信,形成分散的点对点(P2P)网络.为了确保链上数据的安全性和链的持续进展,节点使用某种形式的共识来商定每个数据块中的数据状态以及处理块的顺序. 什么是区块 ...

  6. python区块链框架_20分钟,我用Python实现区块链架构!

    文章目录区块链到底多神奇 一起动手创建一个极简的区块链 为"瘦小的"区块链"增肥" 添加POW共识算法 开采新的区块测试 零基础Python实现区块链架构视频观 ...

  7. python区块链框架_从零开始创建一个区块链应用(Python版)

    2018年什么最火?非区块链莫属! 一时间网上各种介绍区块链的文章层出不穷,但大多数都是从概念层面进行解释的,本文则从技术层面讲解,如何从零开始创建一个区块链应用. 本文使用Python开发,读者需要 ...

  8. 【区块链】Tendermint——概述、PoS共识算法与架构

    什么是 Tendermint? Tendermint 是一种能够为多台机器安全和保证数据一致性复制应用程序的软件.从安全性层面看,分布式系统中即使 1/3 的随机节点即使宕机了,Tendermint ...

  9. 以太坊DPOS私链搭建--使用gttc,搭建一个可用于性能测试的区块链框架(1)

    遇到的一些坑 bootnode 一直不起作用,所以决定不用它,改用static-nodes.json 在阿里云机器上编译gttc 系统Ubuntu16.04 想把eth服务部署到docker中方便移植 ...

最新文章

  1. 2017.4.18 静态代码分析工具sonarqube+sonar-runner的安装配置及使用
  2. layui 常用的css,使用layui xtree插件最基础样式
  3. Laravel Ioc容器singleton和bind方法的区别
  4. 在centos7离线安装mysql_CentOS7离线安装MySQL
  5. DP(优化) UVALive 6073 Math Magic
  6. 查看自己设置的jvm参数
  7. 工控蜜罐Conpot部署和入门及高级演变
  8. CVPR 2021 图像压缩最新进展
  9. css 横线_web前端入门到实战:CSS 搞怪的 text-decoration
  10. mysql配置所有ip连接_Mysql查看用户连接数配置及每个IP的请求情况
  11. 开奖及送书|《Vue.js权威指南》
  12. Optimization of Machine Learning
  13. View#post与Handler#post的区别,以及导致的内存泄漏分析
  14. ad20/ad21/ad22学习笔记(基本包含一套流程)Altium Designer
  15. sql家庭成员、收入支出数据库
  16. 等保三级多久测评一次?每年都要测评吗?
  17. 【C语言程序】某班级学习委员整理获得奖学金排名,总成绩=智育成绩*60%+德育成绩*30%+体育成绩*10%,使用冒泡排序法将班级前12名同学的成绩进行排名。
  18. elasticsearch使用7大原则,轻松玩转ES
  19. Hadoop,MapReduce,HDFS面试题
  20. 程序员跳槽全攻略(路漫漫其修远兮)

热门文章

  1. 模拟二:STEMA 考试选择题模拟练习试卷(中级组) 及答案 + 解题后期更新
  2. java logfaction_Java调试的变迁:从System.out.println到log4j
  3. php mysql 查询每隔一段时间插入的数据_SQL查询某个时间段共多少条数据
  4. 联想电脑怎么进入Android,联想电脑怎么连接手机
  5. 什么是元宇宙?为何要关注它?
  6. 如何做好配电室、临时用电安全管理?
  7. 微软停止与华为合作:Windows暂停供应新订单
  8. 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略
  9. 成功解决pyinstaller生成exe缺少各种包的问题
  10. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略