Skip to main content

Crate avail_rust_client

Crate avail_rust_client 

Source
Expand description

High-level Rust SDK for interacting with the Avail blockchain.

This crate provides ergonomic helpers for connecting to Avail nodes, submitting transactions, querying blocks and events, and subscribing to chain updates.

§Quick Start

use avail_rust_client::{Client, TURING_ENDPOINT};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(TURING_ENDPOINT).await?;
    let best = client.best().block_header().await?;
    println!("Best block: {:?}", best.hash());
    Ok(())
}

Re-exports§

pub use client::Client;
pub use constants::LOCAL_ENDPOINT;
pub use constants::LOCAL_WS_ENDPOINT;
pub use constants::MAINNET_ENDPOINT;
pub use constants::MAINNET_WS_ENDPOINT;
pub use constants::ONE_AVAIL;
pub use constants::ONE_HUNDRED_AVAIL;
pub use constants::ONE_THOUSAND_AVAIL;
pub use constants::TEN_AVAIL;
pub use constants::TURING_ENDPOINT;
pub use constants::TURING_WS_ENDPOINT;
pub use extensions::AccountIdExt;
pub use extensions::H256Ext;
pub use extensions::KeypairExt;
pub use extensions::SecretUriExt;
pub use submission::BlockState;
pub use submission::SubmittableTransaction;
pub use submission::SubmittedTransaction;
pub use submission::TransactionReceipt;
pub use transaction_options::MortalityOption;
pub use transaction_options::Options;
pub use transaction_options::RefinedMortality;
pub use transaction_options::RefinedOptions;
pub use constants::dev_accounts;
pub use error::Error;
pub use error::UserError;
pub use subscription::Sub;
pub use avail_rust_core;
pub use avail_rust_core::ext::codec;
pub use avail_rust_core::ext::primitive_types;
pub use avail_rust_core::ext::scale_info;
pub use avail_rust_core::ext::subxt_core;
pub use avail_rust_core::ext::subxt_rpcs;
pub use avail_rust_core::ext::subxt_signer;

Modules§

avail
block
chain
client
High-level Avail client combining RPC access with helper APIs for blocks and transactions.
clients
RPC client implementations for different transport layers and testing scenarios.
config
constants
conversions
error
ext
extensions
platform
Platform-specific async runtime primitives for native and WASM targets.
prelude
submission
subscription
Helpers for building block, extrinsic, and justification streaming subscriptions.
transaction_api
Builders for transactions targeting specific Avail pallets.
transaction_options
Builders for configuring transaction submission defaults (nonce, tip, mortality).
utils

Structs§

AvailHeader
BlockInfo
CompactDataLookup
EncodedExtrinsic
Extrinsic
ExtrinsicCall
ExtrinsicExtra
ExtrinsicSignature
GrandpaJustification
H256
Fixed-size uninterpreted hash type with 32 bytes (256 bits) size.
KateCommitment
Keypair
An sr25519 keypair implementation. While the API is slightly different, the logic for this has been taken from sp_core::sr25519 and we test against this to ensure conformity.
LegacyBlock
The response from chain_getBlock
SecretUri
A secret uri (SURI) that can be used to generate a key pair.
StorageDoubleMapIterator
StorageMapIterator
U256
Little-endian large integer type 256-bit unsigned integer.
V3HeaderExtension

Enums§

EncodeSelector
HashNumber
HeaderExtension
MultiAddress
RpcError
StorageHasher

Traits§

ExtrinsicDecodable
HasHeader
StorageDoubleMap
StorageMap
StorageValue
TransactionEventDecodable
TransactionEventEncodable

Functions§

multi_account_id
Derive a multi-account ID from the sorted list of accounts and the threshold that are required.

Type Aliases§

AccountId