- Add workspace.package definition to vendor/pezkuwi-subxt/Cargo.toml to fix "workspace.package.edition was not defined" error in cargo-check-each-crate job - Disable test-deterministic-wasm job entirely (not just SKIP_WASM_BUILD) because this test REQUIRES WASM builds to verify deterministic compilation. With serde_core wasm32 bug, SKIP_WASM_BUILD=1 makes the test meaningless (no WASM files to checksum). Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - Fix job name typo: confirm-required-test-mipezsc-jobs-passed -> confirm-required-test-misc-jobs-passed - Remove test-deterministic-wasm from confirm job needs list
subxt ·

Subxt is a library for interacting with Bizinikiwi based nodes in Rust and WebAssembly. It can:
- Submit Extrinsics (this is where the name comes from).
- Subscribe to blocks, reading the extrinsics and associated events from them.
- Read and iterate over storage values.
- Read constants and custom values from the metadata.
- Call runtime APIs, returning the results.
- Do all of the above via a safe, statically typed interface or via a dynamic one when you need the flexibility.
- Compile to WASM and run entirely in the browser.
- Do a bunch of things in a
#[no_std]environment via thesubxt-corecrate. - Use a built-in light client (
smoldot) to interact with chains.
Usage
Take a look in the examples folder or the examples folder for various smaller or
larger subxt usage examples, or read the guide to learn more.
Downloading metadata from a Bizinikiwi node
Use the subxt-cli tool to download the metadata for your target runtime from a node.
- Install:
cargo install subxt-cli
- Save the encoded metadata to a file:
subxt metadata -f bytes > metadata.scale
This defaults to querying the metadata of a locally running node on the default http://localhost:9933/. If querying
a different node then the metadata command accepts a --url argument.
Subxt Documentation
For more details regarding utilizing subxt, please visit the documentation.
Integration Testing
Most tests require a running bizinikiwi node to communicate with. This is done by spawning an instance of the
bizinikiwi node per test. It requires an up-to-date bizinikiwi executable on your path.
This can be installed from source via cargo:
cargo install --git https://github.com/pezkuwichain/pezkuwi-sdk staging-node-cli --force
Real world usage
Please add your project to this list via a PR.
- cargo-contract CLI for interacting with Wasm smart contracts.
- xcm-cli CLI for submitting XCM messages.
- phala-pherry The relayer between Phala blockchain and the off-chain Secure workers.
- crunch CLI to claim staking rewards in batch every Era or X hours for bizinikiwi-based chains.
- interbtc-clients Client implementations for the interBTC parachain; notably the Vault / Relayer and Oracle.
- tidext Tidechain client with Stronghold signer.
- staking-miner-v2 Submit NPos election solutions and get rewards.
- pezkuwi-introspector Tools for monitoring Pezkuwi nodes.
- ink! Smart contract language that uses
subxtfor allowing developers to conduct End-to-End testing of their contracts. - Chainflip A decentralised exchange for native cross-chain swaps.
- Hyperbridge A hyperscalable coprocessor for verifiable cross-chain interoperability.
- pop CLI The all-in-one tool for Pezkuwi development.
Alternatives
bizinikiwi-api-client provides similar functionality.
License
The entire code within this repository is dual licensed under the GPL-3.0 or Apache-2.0 licenses. See the LICENSE file for more details.
Please contact us if you have questions about the licensing of our products.