14 releases (5 breaking)
0.6.1 | Nov 4, 2024 |
---|---|
0.6.0 | Oct 20, 2024 |
0.5.0 | Oct 13, 2024 |
0.4.0 | Oct 12, 2024 |
0.1.0 | Sep 13, 2024 |
#1471 in Web programming
344 downloads per month
Used in 3 crates
1MB
23K
SLoC
wasm_client_solana
A wasm compatible solana rpc and pubsub client.
Installation
To install you can use the following command:
cargo add wasm_client_solana
Or directly add the following to your Cargo.toml
:
[dependencies]
wasm_client_solana = "0.1" # replace with the latest version
Features
This crate provides the following features:
js
: Enables the use of thewasm-bindgen
crate for thejs
target. This is useful for using the crate in a browser environment.ssr
: Enables the use of thereqwest
andtokio
crates for thessr
target. This is useful for using the crate in a server or non-browser environment.zstd
: Enables the use of thezstd
as an encoding format and automatically activates thessr
target.
Usage
The SolanaRpcClient
provides a wasm compatible client for the solana rpc and pubsub methods.
use solana_sdk::native_token::sol_to_lamports;
use solana_sdk::pubkey;
use wasm_client_solana::ClientResult;
use wasm_client_solana::DEVNET;
use wasm_client_solana::SolanaRpcClient;
async fn run() -> ClientResult<()> {
let client = SolanaRpcClient::new(DEVNET);
let address = pubkey!("99P8ZgtJYe1buSK8JXkvpLh8xPsCFuLYhz9hQFNw93WJ");
client
.request_airdrop(&address, sol_to_lamports(1.0))
.await?;
let account = client.get_account(&address).await?;
log::info!("account: {account:#?}");
Ok(())
}
Dependencies
~31–45MB
~753K SLoC