substrate

基本原理

  • 区块链基础知识 提供了有关与区块链开发相关的复杂性以及 Substrate 如何通过采用模块化,灵活和互操作方法来简化构建过程。
  • Substrate 优点 讨论在传统智能合约平台上开发与使用底层开发的区别,以及为什么 Substrate 可能适合或可能不适合你的项目需求和目标。
  • Substrate 架构设计 描述了 Substrate 节点架构的关键组件,以及这些组件与定制区块链的设计和架构的关系。
  • 网络和区块链 定义了不同类型区块链部署场景的网络拓扑,以及它们如何基于 Substrate 构建区块链。
  • Runtime 开发 强调了 Substrate 运行时的重要性,并介绍了核心应用接口,以及 Substrate 运行时开发所需的原语。
  • 共识 描述了最常见的共识模型,以及你可以为 Substrate 区块链实现的共识类型。
  • 交易和区块基础 介绍了交易类型和组成区块的组件。
  • 交易生命周期 解释了交易如何被接收、排队和执行,以及最终被包含在一个块中。
  • 状态转换和存储 描述了如何使用 trie 数据结构和键值数据库存储和管理运行时中处理的状态更改。
  • Accounts、addresses和keys 解释了 Accounts,addresses 和 keys 之间的关系以及它们的使用方式。
  • Rust for Substrate 强调了 Rust 特性,包括 traits、泛型、关联类型和宏,在构建基于 Substrate 的区块链时,你应该非常熟悉。
  • 链下操作 探讨了处理一些链下操作的原因,以及执行这些链下操作的备选方案。

构建与编码

  • 代码库的介绍 重点强调了核心节点库和它们的结构,以提供构建 Substrate 节点的模块化框架。
  • 构建过程 深入研究了 Rust Code 如何编译为 Rust Binary 和 WebAssembly 目标,以及如何使用这两个目标来优化节点操作的细节。
  • 运行时存储 提供了更详细的存储结构分析,以及如何查找存储在运行时中的数据。
  • 交易、权重和费用 解释了权重和费用在执行交易中的作用,以及如何计算和退还费用的机制。
  • 自定义 pallets 公开了构成构建自定义 pallets 基础的宏和属性。
  • Pallet 耦合 描述了如何在运行时紧密或松散地耦合 Pallet。
  • 事件和错误 解释了如何从运行时发出事件和错误。
  • Randomness 建议了在基于 Substrate 的区块链上运行的应用程序中包含的随机性方法。
  • Chain specification 讨论 chain specifications 的使用,包括可以修改和不能修改的内容,以及如何发布定制的 chain specifications。
  • Privileged calls and origins 描述如何使用预定义或自定义源来标识函数调用的发起人。
  • 远程过程调用 总结了如何使用远程过程调用和 RPC 方法与 Substrate 节点进行交互。
  • 应用程序开发 介绍元数据和前端库作为运行在区块链之上,构建的应用程序的工具的作用。
  • 升级运行时 说明了如何对运行时进行版本控制,以及存储迁移支持运行时升级,使你的区块链能够随着时间的推移而发展。

启动区块链网络

自定义pallet

开发智能合约

桥接其它链

工具集成

测试

  • 单元测试 解释如何使用Rust测试框架和模拟运行时环境来执行单元测试,以验证代码的单个函数或模块。
  • 调试 描述如何使用 Rust 日志功能调试运行时。
  • 基准测试 解释了基准测试的作用,以及如何使用基准测试框架来评估代码中函数调用的性能,还有如何调整交易权重以准确反映执行时间。