Skip to main content

Crate agsol_wasm_client

Crate agsol_wasm_client 

Source
Expand description

This is an experimental crate that aims to implement a Wasm-compatible non-blocking (async) RpcClient for Solana. Currently, Solana uses its own blocking RpcClient for querying the blockchain which cannot be ported to Wasm.

This crate uses an async reqwest::Client to make [RpcRequest]s to the blockchain. Thus, querying the blockchain can be written entirely in Rust and then it can be easily ported to Wasm using wasm_bindgen.

§Examples

use agsol_wasm_client::{Net, RpcClient};
use solana_program::pubkey::Pubkey;

#[tokio::main]
async fn main() {
    let mut client = RpcClient::new(Net::Devnet);
    let balance = client
        .get_minimum_balance_for_rent_exemption(50)
        .await
        .unwrap();

    let owner = client.get_owner(&Pubkey::default()).await.unwrap();
}

When built with the wasm-factory feature enabled, this crate provides the wasm_instruction!() macro that can be used for quickly exposing a Solana Instruction factory to Wasm.

Modules§

account
rpc_config
rpc_request

Structs§

RpcClient
An async client to make rpc requests to the Solana blockchain.

Enums§

Net
Specifies which Solana cluster will be queried by the client.

Type Aliases§

ClientResult