From ba8edecf59aac801e9383835599f761dd3b210a9 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 13 Dec 2023 12:24:37 +0100 Subject: [PATCH] add subxt example --- Cargo.toml | 9 +++++++- examples/hello_subxt.rs | 48 ++++++++++++++++++++++++++++++++++++++++ examples/metadata.scale | Bin 0 -> 75404 bytes 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 examples/hello_subxt.rs create mode 100644 examples/metadata.scale diff --git a/Cargo.toml b/Cargo.toml index a570e38..e0bd338 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,4 +20,11 @@ subxt = { version = "0.33", optional = true } [dev-dependencies] jsonrpsee = { version = "0.20.3", features = ["server"] } anyhow = "1" -tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } \ No newline at end of file +tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } +subxt = "0.33" +subxt-signer = "0.33" + +[[example]] +name = "hello_subxt" +path = "examples/hello_subxt.rs" +required-features = ["subxt"] \ No newline at end of file diff --git a/examples/hello_subxt.rs b/examples/hello_subxt.rs new file mode 100644 index 0000000..891373e --- /dev/null +++ b/examples/hello_subxt.rs @@ -0,0 +1,48 @@ +use reconnecting_jsonrpsee_ws_client::Client; +use subxt::backend::rpc::RpcClient; +use subxt::{OnlineClient, PolkadotConfig}; +use subxt_signer::sr25519::dev; +use tracing_subscriber::util::SubscriberInitExt; + +// Generate an interface that we can use from the node's metadata. +#[subxt::subxt(runtime_metadata_path = "examples/metadata.scale")] +pub mod runtime {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + let filter = tracing_subscriber::EnvFilter::from_default_env(); + tracing_subscriber::fmt() + .with_env_filter(filter) + .finish() + .init(); + + let rpc = Client::builder() + .build("ws://localhost:9944".to_string()) + .await?; + + // Create a new API client, configured to talk to Polkadot nodes. + let api: OnlineClient = + OnlineClient::from_rpc_client(RpcClient::new(rpc)).await?; + + // Build a balance transfer extrinsic. + let dest = dev::bob().public_key().into(); + let balance_transfer_tx = runtime::tx().balances().transfer_allow_death(dest, 10_000); + + // Submit the balance transfer extrinsic from Alice, and wait for it to be successful + // and in a finalized block. We get back the extrinsic events if all is well. + let from = dev::alice(); + let events = api + .tx() + .sign_and_submit_then_watch_default(&balance_transfer_tx, &from) + .await? + .wait_for_finalized_success() + .await?; + + // Find a Transfer event and print it. + let transfer_event = events.find_first::()?; + if let Some(event) = transfer_event { + println!("Balance transfer success: {event:?}"); + } + + Ok(()) +} diff --git a/examples/metadata.scale b/examples/metadata.scale new file mode 100644 index 0000000000000000000000000000000000000000..237be37538dd95ecc1de24643fcf297f1f04d867 GIT binary patch literal 75404 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 literal 0 HcmV?d00001