31 个版本 (重大变更)
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.2.0 | 2021 年 11 月 15 日 |
#141 在 魔法豆
每月下载量 29,852 次
用于 60 个 crate (2 个直接使用)
240KB
5K SLoC
subxt ·
Subxt 是一个用于与基于 Rust 和 WebAssembly 的 Substrate 节点交互的库。它可以
- 提交外设(这个名字由此而来)。
- 订阅区块,从其中读取外设和相关事件。
- 读取和遍历存储值。
- 从元数据中读取常量和自定义值。
- 调用运行时 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 用于为基于 substrate 的链批量声明每轮或每 X 小时的质押奖励。
- interbtc-clients 是 interBTC parachain 的客户端实现;值得注意的是金库/中继器和预言机。
- tidext 是带有 Stronghold 签名的 Tidechain 客户端。
- staking-miner-v2 提交 NPos 选举解决方案并获得奖励。
- polkadot-introspector 是用于监控 Polkadot 节点的工具。
- ink! 是一种智能合约语言,它使用
subxt
允许开发人员进行合约的 端到端测试。 - Chainflip 是一个用于原生跨链交易的去中心化交易所。
替代方案
substrate-api-client 提供类似的功能。
许可
此存储库中的全部代码均采用 GPL-3.0 或 Apache-2.0 许可证双许可。有关详细信息,请参阅 许可文件。
如果您对我们的产品许可有任何疑问,请 联系我们。
lib.rs
:
根据其元数据生成一个类型安全的 Subxt 接口,用于 Substrate 运行时。这个接口由 #[subxt]
宏和 subxt codegen
CLI 命令使用,但如果需要也可以直接使用。
依赖项
~6–18MB
~227K SLoC