本文是 Substrate 文档的较高级别切入。“ 阅读所需的专业知识:为了最大限度地利用 Substrate,你应该对区块链概念和基本密码学有很好的了解。对诸如区块头、区块、客户端、哈希、交易和签名之类的术语应该很熟悉。目前,你也需要把 Rust 语言作为一种工作技能,去定制/适应 Substrate(尽管这不是我们的最终目标)。 Substrate 是一个区块链开发框架,具有完全通用的状态转换功能(STF[1])和模块化组件,用于共识、网络和配置。 尽管它是 “完全通用的”,但也有标准和约定,特别是 Substrate runtime 模块库(也称为 FRAME[2]),它是支持 STF 的底层数据结构,从而使快速开发区块链成为现实。 用法 Substrate 被设计用于以下三种方式: 使用 Substrate Node:你可以运行预先设计好的 Substrate 节点,并使用包含默认节点 runtime 的创世块对其进行配置。在这种情况下,你只需要配置一个 JSON 文件就可以启动自己的区块链。这为你提供了最少的自定义量,你只需要更改包含的 runtime 模块的生成参数,如:余额、staking、区块期、费用、治理等... 有关此操作的教程,请查看使用 Substrate 建立一个私有网络[3]。 使用 Substrate FRAME:你可以使用 FRAME 轻松创建自己的自定义区块链。这为你在自己的区块链逻辑上提供了非常大的自由度,允许你更改数据类型、从模块库中选择并添加自己的自定义模块。由于区块生产逻辑是通过链上逻辑实现的,因此许多内容可以在不接触区块生产逻辑的情况下进行更改。如果是这种情况,那么现有的 Substrate 二进制文件可以用于出块和区块同步。如果需要修改出块逻辑,则必须将新的出块二进制文件构建为单独的项目并由验证人使用。这就是 Polkadot 中继链的构建方式,在不久的将来应该可以满足几乎所有的需求。有关此方面的教程,请参见创建你的第一条 Substrate 链[4]。 使用 Substrate Core:你可以忽略整个FRAME[5],从头开始设计和实现整个 runtime 。这可以使用任何面向 WebAssembly 的语言来完成。如果可以使 runtime 与 Substrate 节点的抽象区块生产逻辑兼容,那么你只需从 Wasm blob 构造一个新的 genesis 块,并使用现有的基于 Rust 的 Substrate 客户端启动链。如果没有,则需要更改客户端的区块生产逻辑,甚至可能更改区块头和区块序列化格式。就开发投入而言,这是迄今为止难度最高的 Substrate 使用方式,但同时也给了你最大程度的创新自由。 下一步了解更多 浏览我们的开发文档「使用 FRAME 进行模块开发」[6]。案例 用 Substrate 开发你的第一条自定义区块链[7] 用 Substrate 开发一条私有链[8] 将 runtime 模块添加到 Substrate runtime[9]参考 查看 Rust 参考文档[10]参考资料 [1] STF: https://substrate.dev/docs/en/glossary#stf-state-transition-function[2] FRAME: https://substrate.dev/docs/en/conceptual/runtime/frame[3] 使用 Substrate 建立一个私有网络: https://substrate.dev/docs/en/tutorials/start-a-private-network/[4] 创建你的第一条 Substrate 链: https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain/[5] FRAME: https://substrate.dev/docs/en/conceptual/runtime/frame[6] 「使用 FRAME 进行模块开发」: https://substrate.dev/docs/en/development/module/[7] 用 Substrate 开发你的第一条自定义区块链: https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain/index[8] 用 Substrate 开发一条私有链: https://substrate.dev/docs/en/tutorials/start-a-private-network-with-substrate[9] 将 runtime 模块添加到 Substrate runtime: https://substrate.dev/docs/en/tutorials/adding-a-module-to-your-runtime[10] Rust 参考文档: https://substrate.dev/rustdocs/master 欢迎学习 Substrate: https://substrate.dev/ 关注 Substrate 进展: https://github.com/paritytech/substrate 关注 Polkadot 进展: https://github.com/paritytech/polkadot 申请 Bootcamp: https://bootcamp.web3.foundation/ 本文来源:PolkaWorld —- 编译者/作者:PolkaWorld 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Substrate 概览|Substrate 的三种使用方式
2020-05-08 PolkaWorld 来源:火星财经
LOADING...
相关阅读:
- 重要里程碑达成:Polkadot与Chainlink使用Substrate进行整合2020-07-28
- 一文了解 Polkadot 共识原理及如何与 Substrate 框架交互2020-07-08
- 硬核分享|CrustNetwork如何玩转Substrate的“黑魔法”?2020-06-23
- Substrate 菜谱 - 引言2020-06-16
- 波卡的Substrate框架——区块链世界第一个车轮2020-06-12