feat: Vendor pezkuwi-subxt and pezkuwi-zombienet-sdk into monorepo
- Add pezkuwi-subxt crates to vendor/pezkuwi-subxt - Add pezkuwi-zombienet-sdk crates to vendor/pezkuwi-zombienet-sdk - Convert git dependencies to path dependencies - Add vendor crates to workspace members - Remove test/example crates from vendor (not needed for SDK) - Fix feature propagation issues detected by zepter - Fix workspace inheritance for internal dependencies - All 606 crates now in workspace - All 6919 internal dependency links verified correct - No git dependencies remaining
This commit is contained in:
Vendored
+79
@@ -0,0 +1,79 @@
|
||||
# subxt · [](https://github.com/pezkuwichain/subxt/actions/workflows/rust.yml) [](https://crates.io/crates/subxt) [](https://docs.rs/subxt)
|
||||
|
||||
Subxt is a library for interacting with [Bizinikiwi](https://github.com/pezkuwichain/pezkuwi-sdk) 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 the `subxt-core` crate.
|
||||
- Use a built-in light client (`smoldot`) to interact with chains.
|
||||
|
||||
## Usage
|
||||
|
||||
Take a look in the [examples](./subxt/examples) folder or the [examples](./examples) folder for various smaller or
|
||||
larger `subxt` usage examples, or [read the guide](https://docs.rs/subxt/latest/subxt/book/index.html) to learn more.
|
||||
|
||||
### Downloading metadata from a Bizinikiwi node
|
||||
|
||||
Use the [`subxt-cli`](./cli) tool to download the metadata for your target runtime from a node.
|
||||
|
||||
1. Install:
|
||||
|
||||
```bash
|
||||
cargo install subxt-cli
|
||||
```
|
||||
|
||||
2. Save the encoded metadata to a file:
|
||||
|
||||
```bash
|
||||
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](https://docs.rs/subxt/latest/subxt/).
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
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](https://github.com/pezkuwichain/cargo-contract/) CLI for interacting with Wasm smart contracts.
|
||||
- [xcm-cli](https://github.com/ascjones/xcm-cli) CLI for submitting XCM messages.
|
||||
- [phala-pherry](https://github.com/Phala-Network/phala-blockchain/tree/master/standalone/pherry) The relayer between Phala blockchain and the off-chain Secure workers.
|
||||
- [crunch](https://github.com/turboflakes/crunch) CLI to claim staking rewards in batch every Era or X hours for bizinikiwi-based chains.
|
||||
- [interbtc-clients](https://github.com/interlay/interbtc-clients) Client implementations for the interBTC parachain; notably the Vault / Relayer and Oracle.
|
||||
- [tidext](https://github.com/tidelabs/tidext) Tidechain client with Stronghold signer.
|
||||
- [staking-miner-v2](https://github.com/pezkuwichain/staking-miner-v2) Submit NPos election solutions and get rewards.
|
||||
- [pezkuwi-introspector](https://github.com/pezkuwichain/pezkuwi-introspector) Tools for monitoring Pezkuwi nodes.
|
||||
- [ink!](https://github.com/pezkuwichain/ink) Smart contract language that uses `subxt` for allowing developers to conduct [End-to-End testing](https://use.ink/basics/contract-testing/end-to-end-e2e-testing) of their contracts.
|
||||
- [Chainflip](https://github.com/chainflip-io/chainflip-backend) A decentralised exchange for native cross-chain swaps.
|
||||
- [Hyperbridge](https://github.com/polytope-labs/hyperbridge) A hyperscalable coprocessor for verifiable cross-chain interoperability.
|
||||
- [pop CLI](https://github.com/r0gue-io/pop-cli) The all-in-one tool for Pezkuwi development.
|
||||
|
||||
**Alternatives**
|
||||
|
||||
[bizinikiwi-api-client](https://github.com/scs/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](./LICENSE) file for more details.
|
||||
|
||||
Please <a href="https://www.parity.io/contact/">contact us</a> if you have questions about the licensing of our products.
|
||||
Reference in New Issue
Block a user