1 个不稳定版本
0.0.1 | 2021年11月2日 |
---|
#19 in #组件
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
lib.rs
:
演示使用简单存储映射的组件
存储映射将键类型映射到值类型。用于哈希键的哈希函数可以进行自定义。此组件使用 blake2_128_concat
哈希函数。这是一个良好的默认哈希函数。
依赖关系
~8-18MB
~237K SLoC