- 区块链基础知识 提供了有关与区块链开发相关的复杂性以及 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 节点进行交互。
- 应用程序开发 介绍元数据和前端库作为运行在区块链之上,构建的应用程序的工具的作用。
- 升级运行时 说明了如何对运行时进行版本控制,以及存储迁移支持运行时升级,使你的区块链能够随着时间的推移而发展。
- 构建本地区块链 向你展示了如何在开发环境中设置本地节点并与之交互。
- 模拟网络 可以帮助你使用预定义帐户模拟两个节点的网络。
- 添加可信任的节点 演示如何生成密钥和派生一个 chain specification,以创建一个小型的可信验证器节点网络。
- 监视节点指标 突出显示了如何利用 Substrate 公开的节点指标。
- 升级一个运行中的网络 说明了通过修改正在运行的 Substrate 节点的运行时进行无分叉升级。
- 集成一个轻客户端节点 描述如何使用 Substrate Connect 轻客户端节点以达到同步,并从一个浏览器与 Substrate 链进行交互。
- 访问EVM帐户 说明了如何使用自定义的 Substrate 节点访问基于以太坊的帐户和合约。
- 以太坊集成
- 单元测试 解释如何使用Rust测试框架和模拟运行时环境来执行单元测试,以验证代码的单个函数或模块。
- 调试 描述如何使用 Rust 日志功能调试运行时。
- 基准测试 解释了基准测试的作用,以及如何使用基准测试框架来评估代码中函数调用的性能,还有如何调整交易权重以准确反映执行时间。