![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Substrate
文章平均质量分 84
关于Substrate的翻译、最新技术热点等
shiyivei
for science,art and meaning
展开
-
Offchain Worker (下)
向链上发起签名交易原创 2022-10-25 22:35:00 · 305 阅读 · 0 评论 -
Offchain Worker (中)
本节内容我们将会分享一些案例,以展示offchain 在实际业务场景中到底是如何使用,主要是涉及存储以及http请求。在最后一节,我们将会使用offchain worker 执行一些交易操作原创 2022-10-23 17:19:39 · 438 阅读 · 0 评论 -
Offchain Worker (上)
区块链上的存储和计算资源都非常有限,这无法满足我们对性能的要求。Offchain Features 的引入可以在一定程度上解决这种问题原创 2022-10-22 21:53:56 · 1751 阅读 · 0 评论 -
Substrate - 3 运行时开发 - 3.1 FRAME
3.1 FRAME模块化实体运行时聚合框架 (FRAME) 是一组简化运行时开发的模块和支持库。在Substrate中,这些模块叫做Pallets,每个都托管特定域的逻辑以包含在链的运行时中FRAME也提供了一些帮助模块与重要的Substrate Primitives进行交互,它们提供了与核心用户接口下面的图展示了FRAME架构的总览和它支持的库Pallets当用FRAME构建时,Substrate运行时由几个叫做pallets的组件组成。一个pallet包含一组类型、存储项和功能。它们为运行时原创 2022-02-19 12:44:52 · 384 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.8 链下功能(Off-Chain Features)
2.8 链下功能(Off-Chain Features)通常需要在将数据包含在链上之前需要查询或者处理线下数据。执行此操作的传统方法是通过 oracles. 虽然这种方法有效,但是在安全性、可扩展性和基础架构效率方面仍然有一些缺点为了使线下数据集成更加的安全和高效,Substrate提供了以下线下功能: -Off-Chain Worker (OCW) 子系统可以让长时间运行的和可能性不确定的任务(例如:Web请求、数据加密/解密、数据签名、随机数生成、CPU密集型计算、链上 数据的枚举和集成等)执行原创 2022-02-12 18:20:08 · 1142 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.7 执行(Execution)
2.7 ExecutionSubstrate运行时的执行由Executive module模块编排与FRAME中的其它模块不同,这不是一个运行时模块。它是Rust中的一个普通的模块,它调用区块链中各种各种运行时模块The Executive module公开了execute_block函数:-Initializes the block-Executes extrinsics-Finalizes the block...原创 2022-02-11 21:49:28 · 419 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.6 交易权重(Transaction Weight)
2.6 Transaction Weight对于链来说,资源是有限的。这些资源包括内存使用、存储I/O、计算、交易区块的大小和状态数据库大小。Substrate提供了几种不同的机制去管理对资源的访问,以防止链上的单个组件对某种资源过多的消费,Weight用来管理验证区块的时间。通常而言,这受限于存储 I/O和计算注意:Weight不用于限制对其它资源的访问,比如存储本身或内存占用。为此必须添加其它机制一个区块包含的Weight数量是有限的,一个可选的Weight消耗通常通过经济措施来限制(例如w原创 2022-02-11 21:33:27 · 437 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.5 会话密钥(Session Keys)
2.5 Session KeysSubstrate提供了 Session pallet,这可以让验证者管理他们的 Session Keys原创 2022-02-10 22:07:01 · 978 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.4 交易池(Transaction Pool)
2.4 Transaction Pool交易池包含了广播到整个网络的所有交易(签名的和未签名的),它们都已被本地节点接收和验证Validity交易池会检查交易的有效性,注意,交易的有效性不是硬线连接到交易池的,而是在运行时中被定义的。如下是有效性检查的示例:-检查交易索引(随机数)是否正确-检查账户是否有足够的金额支付相关费用-检查签名是否有效交易池也会定期检查已有交易的有效性。一旦发现交易无效或者过期则会将它从交易池中删除validate_transaction被从运行时中调用检查签名和随原创 2022-02-10 22:04:43 · 746 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.3 账户抽象(Account Abstractions)
2.3 Account AbstractionsSubstrate使用多组公钥和私钥对来代表网络的参与者,包括验证者、提名者和普通使用者。例如,Substrate节点使用提名权益证明算法去挑选验证人,验证人和提名人可能持有大量的资金,因此Substrate质押pallet引入了账户抽象,尽可能地保证资金安全这些抽象是:Stash Key:Stash账户用于存放大量资金,它地私钥在冷钱包中应该尽可能地安全Controller Key: 控制器账户代表Stash账户发出选择信号,例如支付偏好,但是只有非原创 2022-02-09 20:51:42 · 396 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.2 Extrinsics
2.2 Extrinsics一个extrinsic 是来自于链外的一片信息并且被包含进区块中,extrinsics 分为三类,inherents,签名交易和未签名的交易注意:events不是extrinsics,链为链本身固有的信息片段发出事件。例如,质押奖励是事件,不是extrinsics,因为奖励是由链内部的循环逻辑引发的Block structure在Substrate中的区块是由header和一组extrinsics,header包含区块高度,前一个节点的哈希,extrinsics root原创 2022-02-09 20:48:50 · 1063 阅读 · 0 评论 -
Substrate - 2 主要概念 - 2.1 运行时(Runtime)
2.主要概念2.1 运行时(Runtime)Runtime区块链的运行时是定义它自身行为的商业逻辑。在基于Substrate的链中,运行时指的是”state transition function";它是一个Substrate开发者定义storage items的地方,通常被用于代表区块链的状态和功能从而让区块链用户能够对这些状态做出改变每个Substrate节点都包含运行时,运行时包含了链的商业逻辑。它定义了什么交易是有效的,什么交易是无效的,也决定了链的状态是如何响应交易的,外部节点,除了运行原创 2022-02-08 21:35:19 · 439 阅读 · 0 评论 -
Substrate - 1 开始 - 1.5 常见术语
1.5 词汇表(Glossary)这些词汇表定义了解释了很多常见的区块链和Substrate生态系统概念和术语adaptive quorum biasing (AQB)公投有一个门槛,就是参与者人数,而这种机制能够调整这个门槛,它移除了参与人数这个要求,这个要求起初是为了投票而设置的,而这种设置本身会导致不良的治理机制,自适应的法定人数调整机制在民主托盘中实现https://docs.substrate.io/v3/runtime/frame/#democracy,Democracy pallet为链原创 2022-02-03 19:00:45 · 1108 阅读 · 0 评论 -
Substrate - 1 开始 - 1.4 在Windows上开始
1.4 在Windows上开始提示:Substrate本地开发支持的不是很好,强烈推荐使用 Windows Subsystem Linux (WSL) 和按照Ubuntu/Debian说明操作。在MacOS或者Linux等以Unix为基础的操作系统上进行Substrate开发是最容易的。Substrate教程https://docs.substrate.io/tutorials/v3/和指导https://docs.substrate.io/how-to-guides/v3/中的例子使用的是Unix风格原创 2022-01-30 20:32:18 · 645 阅读 · 0 评论 -
Substrate - 1 开始 - 1.3 安装(Installation)
2.3 安装(Installation)这篇内容将会通过两个步骤来指导你搭建用于Substrate开发的电脑环境,因为Substrate是基于Rust语言https://www.rust-lang.org/构建的,所以第一件事情是你得在电脑上搭建Rust开发环境,这些步骤是基于你的计算机操作系统的,一旦Rust配置好了,你就可以使用工具链和Rust项目进行交互,Rust工具链的命令在所有以Unix为基础的操作系统上都是相同的1.建立依赖Substrate早期开发是基于Unix操作系统的,比如macOS原创 2022-01-29 20:57:06 · 1009 阅读 · 0 评论 -
Substrate - 1 开始 - 1.2 架构(Architecture)
2.2 架构(Architecture)Substrate客户端是一个运行在以Substrate为基础的区块链节点,它的组成部分包括但不限于如下内容:**存储:**用于持续更新Substrate区块链状态。区块链网络允许参与者就存储达成去信任的共识consenushttps://docs.substrate.io/v3/advanced/consensus/。Substrate附带了一种简单而高效的键值存储机制https://docs.substrate.io/v3/advanced/storage/原创 2022-01-27 22:23:12 · 2359 阅读 · 0 评论 -
Substrate - 1 开始 - 1.1 概述
1.前言前几天准备学习一下Substrate,找了半天没有合适的资料(也可能是本人太菜),唯一介绍比较全面的就是Substrate官网。但是所有内容都是英文版的,应该有很多朋友会遇到和我一样的问题,想着就翻译一下,供大家参阅使用,也算对Web3.0尽绵薄之力了。本译本全部来自于https://docs.substrate.io/v3,旨在还原原文意思,但是由于本人才疏学浅,所以也是边翻译边学习,如有错误或不当之处,还请各位见谅并指出2.开始2.1 概述(Overview)这里是Substrate 开原创 2022-01-26 11:13:16 · 1263 阅读 · 0 评论