mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-06 16:08:08 +00:00
7af0bcd262
- Replace PolkadotConfig with PezkuwiConfig - Replace SubstrateConfig with BizinikiwConfig - Rename config module files (polkadot.rs→pezkuwi.rs, substrate.rs→bizinikiwi.rs) - Update all documentation and examples - All 165 files updated, cargo check passes
33 lines
1.1 KiB
Rust
33 lines
1.1 KiB
Rust
#![allow(missing_docs)]
|
|
use pezkuwi_subxt::{
|
|
OfflineClient, config::PezkuwiConfig, ext::codec::Decode, metadata::Metadata, utils::H256,
|
|
};
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// We need to obtain the following details for an OfflineClient to be instantiated:
|
|
|
|
// 1. Genesis hash (RPC call: chain_getBlockHash(0)):
|
|
let genesis_hash = {
|
|
let h = "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3";
|
|
let bytes = hex::decode(h).unwrap();
|
|
H256::from_slice(&bytes)
|
|
};
|
|
|
|
// 2. A runtime version (system_version constant on a Bizinikiwi node has these):
|
|
let runtime_version =
|
|
pezkuwi_subxt::client::RuntimeVersion { spec_version: 9370, transaction_version: 20 };
|
|
|
|
// 3. Metadata (I'll load it from the downloaded metadata, but you can use `subxt metadata >
|
|
// file.scale` to download it):
|
|
let metadata = {
|
|
let bytes = std::fs::read("./artifacts/pezkuwi_metadata_small.scale").unwrap();
|
|
Metadata::decode(&mut &*bytes).unwrap()
|
|
};
|
|
|
|
// Create an offline client using the details obtained above:
|
|
let _api = OfflineClient::<PezkuwiConfig>::new(genesis_hash, runtime_version, metadata);
|
|
|
|
Ok(())
|
|
}
|