mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 00:41:08 +00:00
examples: Use substrate as polkadot.scale and print codegen
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
This commit is contained in:
Binary file not shown.
@@ -155,9 +155,14 @@ fn generate_runtime_call_api(
|
||||
) -> TokenStream2 {
|
||||
let mut result = quote!();
|
||||
|
||||
println!("inside runtime: {:?}", runtime);
|
||||
|
||||
for trait_ in runtime {
|
||||
for method in &trait_.methods {
|
||||
let fn_name = format!("{}{}", trait_.name, method.name);
|
||||
let trait_name = trait_.name.clone();
|
||||
let method_name = method.name.clone();
|
||||
|
||||
let fn_name = format_ident!("{}_{}", trait_.name, method.name);
|
||||
|
||||
let mut params = Vec::new();
|
||||
for input in &method.inputs {
|
||||
@@ -172,7 +177,7 @@ fn generate_runtime_call_api(
|
||||
let output = type_gen.resolve_type_path(output.id());
|
||||
|
||||
let fn_ = quote!(
|
||||
pub fn #fn_name( &self, #( #params, )* ) -> #output {
|
||||
pub fn #fn_name( #( #params, )* ) -> #output {
|
||||
// call into RPC.
|
||||
}
|
||||
);
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
// Copyright 2019-2022 Parity Technologies (UK) Ltd.
|
||||
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
||||
// see LICENSE for license details.
|
||||
|
||||
//! To run this example, a local polkadot node should be running. Example verified against polkadot v0.9.28-9ffe6e9e3da.
|
||||
//!
|
||||
//! E.g.
|
||||
//! ```bash
|
||||
//! curl "https://github.com/paritytech/polkadot/releases/download/v0.9.28/polkadot" --output /usr/local/bin/polkadot --location
|
||||
//! polkadot --dev --tmp
|
||||
//! ```
|
||||
|
||||
use sp_keyring::AccountKeyring;
|
||||
use subxt::{
|
||||
config::{
|
||||
polkadot::{
|
||||
Era,
|
||||
PlainTip,
|
||||
PolkadotExtrinsicParamsBuilder as Params,
|
||||
},
|
||||
PolkadotConfig,
|
||||
},
|
||||
tx::PairSigner,
|
||||
OnlineClient,
|
||||
};
|
||||
|
||||
#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")]
|
||||
pub mod polkadot {}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
tracing_subscriber::fmt::init();
|
||||
|
||||
polkadot::runtime_api::Metadata_metadata();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user