mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-29 10:17:57 +00:00
562f12cd9b
* WIP Starting to write book; extrinsics first pass done * cargo fmt * Ongoing work; events, constants, wip blocks * at_latest() and wip blocks * remove need to import parity-scale-codec crate with Subxt for macro to work * More docs; expanding on setup guide and finish pass of main sections * Tidy and remove example section for now * format book lines to 100chars * Fix example code * cargo fmt * cargo fmt * fix example * Fix typos * fix broken doc links, pub mods * Update Subxt macro docs * can't link to Subxt here * move macro docs to Subxt to make linking better and fix example code * note on macro about docs * cargo fmt * document the no_default_derives macro feature * Address feedback and remove redundant text * address review comments; minor tweaks * WIP add Runtime calls to book * Improve Runtime API docs * expose thing we forgot to expose and doc link fixes
31 lines
1002 B
Rust
31 lines
1002 B
Rust
use subxt::{OnlineClient, PolkadotConfig};
|
|
|
|
// Generate an interface that we can use from the node's metadata.
|
|
#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")]
|
|
pub mod polkadot {}
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// Create a new API client, configured to talk to Polkadot nodes.
|
|
let api = OnlineClient::<PolkadotConfig>::new().await?;
|
|
|
|
// Build a storage query to iterate over account information.
|
|
let storage_query = polkadot::storage().system().account_root();
|
|
|
|
// Get back an iterator of results (here, we are fetching 10 items at
|
|
// a time from the node, but we always iterate over oen at a time).
|
|
let mut results = api
|
|
.storage()
|
|
.at_latest()
|
|
.await?
|
|
.iter(storage_query, 10)
|
|
.await?;
|
|
|
|
while let Some((key, value)) = results.next().await? {
|
|
println!("Key: 0x{}", hex::encode(&key));
|
|
println!("Value: {:?}", value);
|
|
}
|
|
|
|
Ok(())
|
|
}
|