21 个版本 (重大更改)
0.15.0 | 2024年7月18日 |
---|---|
0.13.0 | 2024年5月23日 |
0.10.0 | 2024年3月18日 |
0.6.0 | 2023年12月12日 |
0.1.0-dev.2 | 2023年7月27日 |
562 在 魔法豆
每月下载量12,880
用于 372 个crate(34个直接使用)
440KB
6.5K SLoC
Substrate 创世构建器。
请参阅模块文档以获取更多信息。
许可证:Apache-2.0
lib.rs
:
Substrate 创世配置构建器
对于基于 FRAME 的运行时,此运行时接口提供与 RuntimeGenesisConfig
交互的方式。运行时以 JSON blob 的形式提供默认的 RuntimeGenesisConfig
结构。
对于非FRAME运行时,此接口旨在根据一些任意字节数组构建运行时的创世状态。本文档使用术语 RuntimeGenesisConfig
,对于非FRAME运行时,可以理解为表示初始运行时配置的运行时端实体。预设的表示是一个任意的 Vec<u8>
,并不一定必须表示一个JSON对象。
运行时可以提供多个部分预定义的 RuntimeGenesisConfig
配置,以补丁的形式应用在默认的 RuntimeGenesisConfig
之上。补丁是一个JSON对象,本质上包含了一系列键值对,这些键值对将用于自定义默认运行时创世配置。这些预定义配置被称为预设。
这允许运行时提供多个预定义配置(例如,用于不同的测试网或开发),而无需将运行时类型泄露到自身之外(例如,节点或链规范相关工具)。
此运行时API允许与 RuntimeGenesisConfig
交互,特别是
- 提供可用预设名称的列表,
- 提供多个命名的
RuntimeGenesisConfig
预设, - 提供默认
RuntimeGenesisConfig
的JSON表示(通过简单地将默认RuntimeGenesisConfig
结构体序列化为JSON格式), - 从给定的JSON对象反序列化完整的
RuntimeGenesisConfig
并将结果RuntimeGenesisConfig
结构体放入状态存储中,创建初始运行时的状态。这允许构建定制的创世状态。此操作内部调用所有运行时模块的GenesisBuild::build
函数。
提供带有空存储的外部性并将 RuntimeGenesisConfig
放入存储中(通过调用 build_state
)允许构建 RuntimeGenesisConfig
的原始存储,这是创世块的基石。
依赖项
~16–29MB
~480K SLoC