认识substrate

article/2025/8/26 8:03:04

了解substrate

  • 前言
    • 从互联网发展看区块链未来--跨链
      • 跨链是未来
    • 公链和联盟链
    • 可交互的联盟链
    • polkadot组件
    • substrate介绍
      • 区块链的构造组件
      • substrate开发的特性
    • polkadot :substrate 之上建立
    • 如何通过substrate构造自己的链
    • 一键链上升级--永不分叉
      • 为什么需要链上升级
    • substrate与企业系统无缝集成
    • 那么,substrate是什么?

前言

2020年区块链三大事件,都被我们赶上了:

  1. BTC减半
  2. filecoin上线
  3. polkadot上线
    而作为开发了3年+的“年轻”明星项目,filecoin和polkadot备受开发人员和币圈关注。下面,我们从开发人员角度去看下substrate

从互联网发展看区块链未来–跨链

我们经历了互联网三个时代:

  1. web1.0 :只读互联网。用户只能搜索信息,浏览信息
  2. web2.0: 可读写互联网。只读已经无法满足人们需求,人们需要将文字、图片、视频上传到互联网上,实现信息共享。因此,问答式、交互式门户、博客、百科等网站出现。
  3. web3.0:价值互联网。web3.0将打造一个新的全球数字经济,创造新的商业模式和市场,与谷歌和Facebook一起破坏平台垄断,并产生大量自下而上的创新。打破数据隔离,让真正有价值的东西流通起来。

跨链是未来

区块链可以解决信任为题
专业化可以解决可扩展问题
可交互可以在可扩展的前提下,解决更广泛的信任问题,是一个更真实的世界

在这里插入图片描述
波卡解决下面三个问题:
跨链协作
可扩展性
共享安全
在这里插入图片描述
不可能性三角:去中心化、可扩展性、安全性不可能同时达到
而polkadot尝试打通整个区块链沟通协作。

公链和联盟链

公链:公链特点,开发复杂、生态丰富、维护成本高、升级困难、开放、犯错成本高
联盟链:CA准入、开发简单、开发框架单一、功能单一、升级困难、可扩展性低、生态单调

可交互的联盟链

数据共享、全局信任
通过核心链将更多联盟链连接起来
其中核心链是基于substrate,各个联盟链也基于substrate,核心链
在这里插入图片描述

polkadot组件

relay chain:中介链,中间大红框
Validators:中介链的区块验证节点

parachain :平行链,周边的红色小圆圈
collators :平行链的区块整理节点

区块整理节点(collators)将平行链的下个区块信息,并将下个区块信息提交给区块验证节点(Validators)盖章和打包,一旦该信息成功被Validators认证,该平行链的信息将会被打包到中介链(relay chain)的区块信息中。

Bridge:桥组件
而relay chain外围的parachain也可以再接一层parachain,那么第一层的parachain就可以作为外一层parachain的relay chain。依此类推,往外无限扩展。

在这里插入图片描述

substrate介绍

目标:每个分片专注不同业务
一个区块链节点需要包含哪些组件:
数据库
点对点网络
共识算法
交易处理
***状态转换函数(runtime)***:决定整个区块链当前状态和未来状态
***其它特别函数:零知识证明(zk)、分片等等
在这里插入图片描述

区块链的构造组件

核心组件
最内层:区块链构造组件:数据组、加密算法、点对点网络、序列化、共识算法、交易队列
中间层:链逻辑升级、链上治理,即(runtime层)
最外层:dapp ,智能合约

substrate开发的特性

可扩展性
模块化
开源*
自主可控

模块:
在这里插入图片描述

polkadot :substrate 之上建立

在这里插入图片描述

如何通过substrate构造自己的链

runtime是区块链的链上运行集合,也就是状态转换函数。可以通过选择方式添加runtime组件。runtime组件目前超过40个。

在这里插入图片描述

一键链上升级–永不分叉

当substrate本地节点执行一批交易逻辑时,会判断native runtime版本是否与wasm runtime版本一致,如果一致,则在native runtime上进行,如果不一致,则会选择在wasm runtime运行。
全网是否需要升级,需要一个公投,全网公投通过,则需要升级,native runtime也会被强制升级。
而公投需要议会,或者root,不过root在主网上线后会被撤下。议会成员可执行议会职能,非议会成员无法执行议会职能。

note: 使用wasm,升级过程无需节点直接参与。如果不适用wasm,整个网络都需要执行升级操作。

为什么需要链上升级

在这里插入图片描述

substrate与企业系统无缝集成

使区块链成为解决方案的一部分。

在这里插入图片描述

那么,substrate是什么?

substrate是技术、生态和联盟链之间的桥梁

附官方相关连接
Substrate的官方文档网址是什么? https://substrate.dev/docs
Substrate的recipe网址是什么? https://substrate.dev/recipes/
Substrate的rust docs的网址是什么? https://substrate.dev/rustdocs/v2.0.0-rc2/sc_service
Substrate的tutorial的网址是什么? https://www.substrate.io/tutorials/
Substrate Seminar在每周几进行? 每个星期二14:00UTC


http://chatgpt.dhexx.cn/article/AO9ELvGa.shtml

相关文章

CydiaSubstrate框架

往期推荐 Frida Native层HOOK Frida hook Java层 frida环境安装 Xposed框架安装、使用及插件开发 需要相关资料的朋友,可以【[加入此处即可打包获取]】 Cydia Substrate是一个基于Hook的代码修改框架,可以在Android、iOS平台使用,并实现…

创建Substrate 私有网络

创建Substrate 私有网络 所有区块链都要求网络中的节点就消息集及其顺序达成一致,以成功创建区块并从一个区块推进到下一个区块。每个块代表特定时间点的数据状态,节点对状态的一致称为共识。有几种不同的算法用于达成共识,包括:…

Build the Substrate Kitties Chain(中文翻译)

欢迎来到Substrate Kitties课程。 本课程将向您介绍如何构建一个可以创建并持有非同质化代币(NFT,这个NFT名称为Substrate Kitties)的区块链。课程分为部2部分: Part I 描述如何构建Kitties pallet,以及这个pallet怎样…

oracle substrate,Substrate 2.0 带来了哪些改变?

Substrate 已到了 2.0 版本的主要里程碑处。该区块链框架现在包含链下工作机(off-chain workers)和 70 多个可组合模块,并为构建优化的、与 Polkadot 兼容的、可投入生产的区块链奠定了坚实的基础。数十个实时区块链已经在运行 Substrate 2.0,包括Polkad…

Substrate 基础教程(Tutorials) -- 授权特定节点

五、授权特定节点 在添加可信节点中,您看到了如何使用一组已知的验证器节点构建一个简单的网络。该教程演示了一个简化版的许可网络(permissioned network)。在一个被许可的网络中,只有被授权的节点(authorized nodes…

Substrate常见问题

目录标题 1. Rust nightly not installed, please install it!2. Rust WASM toolchain not installed, please install it!3. use pallet::*出错4. failed to load manifest for workspace member5. error: failed to run custom build command for node-template-runtime v4.0…

什么是 Substrate

如果你关注了 Polkadot 项目,可能会多次看到「Substrate」这个词。 它是 Polkadot 项目的重要组成部分,但有关它的信息非常少。 白皮书或黄皮书里找不到, 至少没有专门的介绍「Substrate」。 从较高的层面来看,Substrate 是一个可…

Substrate之旅3:Substrate是什么

Substrate 是从Polkadot 孵化出来的项目。它是一个用来搭建区块链的通用框架,具有以下特点: 可扩展。模块化。开源。 Substrate的框架与组件 框架 其中: P2P: libp2p网络协议,Substrate基于该协议实现了一个不带任何假设的&…

Substrate 基础 -- 教程(Tutorials)

官网 github DOC 面向未来的区块链框架 Substrate 使开发人员能够快速、轻松地构建适合任何用例的未来 证明区块链(future proof blockchains)。 Substrate 文档包括区块链构建器(blockchain builders)和parachain 项目团队的概念、过程和参考信息。…

【Android 逆向】substrate 框架 ( substrate 简介 | substrate 相关文档资料 )

文章目录 一、substrate 简介二、substrate 相关文档资料 一、substrate 简介 substrate 官网 : http://www.cydiasubstrate.com substrate 框架 是 Cydia 下的逆向工具 , 该框架是开源的 ; substrate 配合对应的 so 动态库 和 头文件 , 可以在 Android / iOS 平台中独立运行 …

ios tableView那些事(三)给tableView添加些图片

感觉光有数据的tableView很丑&#xff0c;那么我们就来美化下吧&#xff0c;加一些图片 #import <UIKit/UIKit.h> /*tableview 一定要用到这两个delegate UITableViewDataSource,UITableViewDelegate */ interface ViewController :UIViewController <UITableViewDa…

QT的TableView实现多级表头

QT的TableView实现多级表头 最近项目需要支持多级表头&#xff0c;QT本身不支持。可重写QHeaderView表头实现。 demo如下&#xff1a; FSItemDelegate.h #pragma once/* 自定义委托类 */ #include <QItemDelegate> #include <QSpinBox> #include <QDoubleSpin…

QML类型:TableView

一、描述 TableView 显示从内置 QML 类型&#xff08;如 ListModel 和 XmlListModel&#xff09;创建的模型中的数据&#xff0c;这些模型仅填充 TableView 中的第一列。要创建具有多列的模型&#xff0c;请使用 TableModel 或继承 QAbstractItemModel 的 C 模型。 TableView…

QML TableView表格使用示例

前言 QML中实现表格可以使用多种方式&#xff0c;比如直接使用ListView&#xff0c;定义每一行delegate&#xff0c;或者自定义Rectangle&#xff0c;放到Flipable中组合使用。Qt Quick Control1中 从5.1版本开始就提供了表格控件&#xff0c;但是感觉不怎么好用&#xff0c;在…

Qt TableView的简单使用

软件环境&#xff1a; ubuntu -------------------------------------------------------------------------------------------------------- 最终效果图&#xff1a; --------------------------------------------------------------------------------------------------…

PyQt5 TableView组件

一、话不多说&#xff0c;先看图 本次要实现的是主窗口内添加widget组件&#xff0c;widget内设置成垂直盒布局&#xff0c;然后在布局中添加tableView、PushButton组件 二、看main函数 if __name__ __main__:app QApplication(sys.argv)# 现在这创建 主窗口 &#xff08;不然…

优雅的开发TableView

前言 UITableView&#xff08;UITableViewController&#xff09;是iOS开发使用频率最高的一个组件。 不管是使用UITableView还是还是UITableViewController&#xff0c;在开发的时候&#xff0c;我们都需要实现两个协议&#xff1a; UITableViewControllerDataSourceUITabl…

JavaFX控件——TableView

在JavaFX 应用中对创建表格最重要的是TableView, TableColumn和TableCell这三个类。 你可以通过实现数据模型&#xff08;data model&#xff09; 和 实现 单元格工厂(cell factory) 来填充表格。 表格类提供了表格列嵌入式的排序能力和必要时调整列宽度的功能。 下面开始学…

ios开发:多个Section的TableView

开发多个Section的tableView。 首先应该考虑到数据源该如何得到 我们这里可以通过两种方式:第一种是读取plist文件。第二种是通过代码进行数据存储以及读取。 多个Section需要的数据源是一个字典&#xff0c;字典里的内容是一个数组。在plist文件中可以这样去创建 在.h文件中…

tableview概述

转自&#xff1a;http://www.cnblogs.com/smileEvday/archive/2012/06/28/tableView.html                 下面分9个方面进行介绍&#xff1a; 一、UITableView概述 UITableView继承自UIScrollView&#xff0c;可以表现为Plain和Grouped两种风格&#xff0c;分…