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魔法豆

Download history 5893/week @ 2024-04-19 6038/week @ 2024-04-26 5666/week @ 2024-05-03 5595/week @ 2024-05-10 5532/week @ 2024-05-17 5006/week @ 2024-05-24 6421/week @ 2024-05-31 5331/week @ 2024-06-07 5104/week @ 2024-06-14 6285/week @ 2024-06-21 5290/week @ 2024-06-28 5937/week @ 2024-07-05 7200/week @ 2024-07-12 6810/week @ 2024-07-19 6589/week @ 2024-07-26 8204/week @ 2024-08-02

每月下载量 29,852 次
用于 60 个 crate (2 个直接使用)

Apache-2.0 OR GPL-3.0

240KB
5K SLoC

subxt · build 最新版本 文档

Subxt 是一个用于与基于 Rust 和 WebAssembly 的 Substrate 节点交互的库。它可以

  • 提交外设(这个名字由此而来)。
  • 订阅区块,从其中读取外设和相关事件。
  • 读取和遍历存储值。
  • 从元数据中读取常量和自定义值。
  • 调用运行时 API,返回结果。
  • 通过安全、静态类型的接口或动态接口完成上述所有操作,具体取决于您是否需要灵活性。
  • 编译为 WASM 并在浏览器中完全运行。
  • 通过 subxt-core 库在 #[no_std] 环境中执行一系列操作。
  • 使用内置的轻客户端 (smoldot) 与链交互。

用法

查看 示例 文件夹或 示例 文件夹,以了解各种大小不同的 subxt 用法示例,或 阅读指南 以获取更多信息。

从 Substrate 节点下载元数据

使用 subxt-cli 工具从节点下载目标运行时的元数据。

  1. 安装
cargo install subxt-cli
  1. 将编码后的元数据保存到文件
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.0Apache-2.0 许可证双许可。有关详细信息,请参阅 许可文件

如果您对我们的产品许可有任何疑问,请 联系我们


lib.rs:

根据其元数据生成一个类型安全的 Subxt 接口,用于 Substrate 运行时。这个接口由 #[subxt] 宏和 subxt codegen CLI 命令使用,但如果需要也可以直接使用。

依赖项

~6–18MB
~227K SLoC