23 个版本 (破坏性更新)
0.37.0 | 2024 年 5 月 28 日 |
---|---|
0.35.3 | 2024 年 4 月 11 日 |
0.35.0 | 2024 年 3 月 21 日 |
0.33.0 | 2023 年 12 月 7 日 |
0.22.0 | 2022 年 6 月 20 日 |
#2 在 #subxt
每月 29,964 次下载
用于 66 个 软件包(直接使用 7 个)
145KB
3K SLoC
subxt ·
Subxt 是一个用于与基于 Substrate 的节点进行交互的 Rust 和 WebAssembly 库。它能够
- 提交外部交易(这个名字就是这样来的)。
- 订阅区块,从区块中读取外部交易和相关事件。
- 读取并迭代存储值。
- 从元数据中读取常量和自定义值。
- 调用运行时 API,返回结果。
- 通过安全、静态类型接口或动态接口执行上述所有操作,当需要灵活性时。
- 编译为 WASM 并在浏览器中完全运行。
- 通过
subxt-core
软件包在#[no_std]
环境中执行所有这些操作。 - 使用内置的轻客户端 (
smoldot
) 与链进行交互。
用法
查看 示例 文件夹或 示例 文件夹,以获取各种较小的或较大的 subxt
用法示例,或 阅读指南 了解更多信息。
从Substrate节点下载元数据
使用subxt-cli
工具从节点下载目标运行时的元数据。
- 安装
cargo install subxt-cli
- 将编码后的元数据保存到文件
subxt metadata -f bytes > metadata.scale
默认查询的是默认的本地运行节点的元数据,地址为https://127.0.0.1:9933/
。如果查询不同的节点,则metadata
命令接受一个--url
参数。
Subxt 文档
有关使用subxt的更多详细信息,请访问文档。
集成测试
大多数测试需要一个运行的substrate节点进行通信。这是通过为每个测试启动一个substrate节点实例来实现的。它需要在您的路径上有一个最新的substrate
可执行文件。
这可以通过cargo从源代码安装
cargo install --git https://github.com/paritytech/polkadot-sdk staging-node-cli --force
实际使用
请通过PR将您的项目添加到此列表。
- cargo-contract CLI用于与Wasm智能合约交互。
- xcm-cli CLI用于提交XCM消息。
- phala-pherry Phala区块链和链下安全工作者之间的中继器。
- crunch CLI用于在每代或X小时批量索赔基于substrate的链的质押奖励。
- interbtc-clients interBTC parachain的客户端实现;特别是保险库/中继器和预言机。
- tidext 具有强堡签名的Tidechain客户端。
- staking-miner-v2 提交NPos选举方案并获得奖励。
- polkadot-introspector 用于监控Polkadot节点的工具。
- ink! 使用
subxt
的智能合约语言,允许开发者对他们的合约进行端到端测试。 - Chainflip 用于原生跨链交易的去中心化交易所。
替代方案
substrate-api-client提供类似的功能。
许可证
此存储库中的所有代码均在GPL-3.0或Apache-2.0许可证下双许可。有关更多详细信息,请参阅许可证文件。
如果您对我们的产品的许可有任何疑问,请联系我们。
lib.rs
:
表示由基于substrate的节点提供的元数据。此表示形式已针对Subxt和相关crate进行了优化,且独立于节点可以提供的不同版本的元数据。
通常,这可以通过以下方式构建:
- 调用
Metadata::decode()
给定从节点获得的某些元数据字节(这使用codec::Decode
)。 - 获取
frame_metadata::RuntimeMetadataPrefixed
,然后使用.try_into()
将其转换为Metadata
。
依赖项
~6MB
~91K SLoC