3个版本
0.1.4 | 2023年12月13日 |
---|---|
0.1.1 | 2023年7月10日 |
0.1.0 | 2022年10月9日 |
#1116 in 魔法豆
2.5MB
40K SLoC
Uptest
Substrate rUntime uPgrade TESTing 库
资助方
文档
https://uptest-sc.github.io/
https://docs.rs/libuptest/0.1.2/libuptest/
最新版本
0.1.2
Uptest
Uptest旨在成为一个易于使用的独立库,用于在部署之前测试运行时升级。
使用libuptest在升级前后执行外部测试
substrate运行时升级测试套件
使用uptest,您可以:
- 轻松查询对类型、存储映射等所做的更改。
- 使用libuptest快速开始编写外部测试,让库处理运行时升级前后执行逻辑。
- 更轻量级的独立版本,Rust代码不依赖于主substrate仓库。
- 使用独立的Rust库构建集成测试。
- 根据组件过滤输出,以获取详细的变更日志。
- 安排在运行时升级前后执行测试,开发者不需要额外时间跟踪运行时升级的状态和执行流程。
- 无需kitchensink-runtime
有关更多详细信息,请参阅usage_future.md
您想在路线图中添加功能吗?
近期将可用与cargo
https://crates.io/crates/uptest
查看计划中的功能
https://github.com/users/uptest-sc/projects/1/views/1
示例
运行示例
$ sh run_examples.sh
编译示例
$ cargo build --release --examples -p uptest-examples
获取元数据版本
use libuptest::jsonrpseeclient::JsonrpseeClient;
use libuptest::ws_mod::get_metadata_version;
println!("Connecting to Edgeware");
let dial_edg: JsonrpseeClient = JsonrpseeClient::edgeware_default_url().unwrap();//.unwrap();//.unwrap();
let edg_version: u8 = get_metadata_version(dial_edg).await?;
println!("Connected to chain: {:?} and got metadata version: {:?}", "Edgeware", edg_version);
cargorun -puptest-examples --examplemetadata_version
获取所有组件的存储值和存储映射
cargo run -p uptest-examples --example get_pallet_storagemaps_storagevalues
默认连接端点
rpcclient自带5个不同的"默认"链端点
- with_default_url -> ws://127.0.0.1:9944
- edgeware_default_url -> wss://edgeware.jelliedowl.net:443
- polkadot_default_url -> wss://polkadot-rpc-tn.dwellir.com:443
- kusama_default_url -> wss://kusama-rpc-tn.dwellir.com:443
- sora_default_url -> wss://ws.mof.sora.org:443
示例和文档
运行时迁移链接
https://github.com/apopiak/substrate-migrations
https://substrate-developer-hub.github.io/docs/en/knowledgebase/runtime/upgrades
https://docs.substrate.io/reference/how-to-guides/parachains/runtime-upgrade/
https://github.com/paritytech/substrate/issues?q=label%3AE1-runtimemigration%20
https://wiki.polkadot.network/docs/learn-runtime-upgrades
依赖项
~26–40MB
~713K SLoC