1 个不稳定版本

0.0.1 2021年11月2日

#19 in #组件

GPL-3.0-or-later

10KB
209

组件

更新:此存储库已被存档。用于生产的组件已移至 universal-dot-node.

这是一个用于开发 Substrate 的新组件的实验场。

用于生产的组件已移至 node.

组件是独立于 Runtime 开发的,并注入到 Runtime 中。

自定义组件 cargo 版本应与 Runtime 包版本保持一致。

开发

要构建每个组件,请运行

cargo build

可选地,您可以安装 clippy,这是一个用于检查 Rust 以改进常见错误的 Rust 工具。要安装 clippy: https://github.com/rust-lang/rust-clippy

要本地运行 clippy,请运行

cargo clippy

将组件添加到 Runtime

要将特定组件添加到 Runtime,请导航至 Universal-dot-node。在 /Runtime/Cargo.toml 中添加每个组件依赖项。例如,要添加 Profile 组件,应添加以下配置

[dependencies.pallet-profile]
default-features = false
git = 'https://github.com/UniversalDot/pallets.git'
version = '0.0.67'

测试

模拟 Runtime

组件测试依赖于 substrate Runtime。要运行这些组件测试,我们首先必须构建模拟 Runtime 环境。每个组件的模拟 runtime 分别构建,并位于各自的 /src/ 文件夹中。
有关构建模拟 Runtime 的更多信息,请参阅以下 链接.

编写测试

测试是函数,使用 #[test] 宏进行注释。要测试特定功能,我们使用 assert 宏将我们的期望与预期结果匹配。已经有一些预定义的 assert 宏,例如

  • assert_eq!
  • assert_ok!
  • assert_noop!

有关如何创建测试的更多信息,请参阅以下 链接.

运行测试

要运行每个组件的测试,只需在组件根目录下运行

cargo test

要运行每个组件的基准测试,只需在组件根目录下运行

cargo test --features runtime-benchmarks

Logo


lib.rs:

演示使用简单存储映射的组件

存储映射将键类型映射到值类型。用于哈希键的哈希函数可以进行自定义。此组件使用 blake2_128_concat 哈希函数。这是一个良好的默认哈希函数。

依赖关系

~8-18MB
~237K SLoC