8 个稳定版本

1.18.0 2024 年 3 月 10 日
1.17.4 2023 年 11 月 4 日
1.17.2 2023 年 10 月 17 日
1.16.5 2023 年 7 月 25 日
1.11.0-beta2022 年 7 月 19 日

#118神奇豆子

Download history • Rust 包仓库 129/week @ 2024-04-04 • Rust 包仓库 256/week @ 2024-04-11 • Rust 包仓库 90/week @ 2024-04-18 • Rust 包仓库 10/week @ 2024-04-25 • Rust 包仓库 43/week @ 2024-05-02 • Rust 包仓库 3/week @ 2024-05-16 • Rust 包仓库 10/week @ 2024-05-23 • Rust 包仓库 13/week @ 2024-05-30 • Rust 包仓库 22/week @ 2024-06-06 • Rust 包仓库 54/week @ 2024-06-13 • Rust 包仓库 22/week @ 2024-06-20 • Rust 包仓库 14/week @ 2024-06-27 • Rust 包仓库 29/week @ 2024-07-04 • Rust 包仓库 25/week @ 2024-07-11 • Rust 包仓库 193/week @ 2024-07-18 • Rust 包仓库

265 每月下载量
用于 wasi-sol

Apache-2.0

750KB
16K SLoC

Solana WASM 客户端

Crates.io License

兼容 WASM 的 Solana 客户端的非阻塞实现。

用法

大多数方法与 solana-client 非阻塞 API 相同。

solana-sdk 被导出,这意味着您不需要将其添加到您的依赖中。

示例

use solana_client_wasm::{
    solana_sdk::signature::{Keypair, Signer},
    WasmClient,
};

// Create client
let client = WasmClient::new("https://api.devnet.solana.com");

// Get a random pubkey
let pubkey = Keypair::new().pubkey();

// Get balance
let balance = client.get_balance(&pubkey).await?; // in lamports
log::info!("Balance is {balance}"); // 0

WebSocket

需要激活 pubsub crate 功能。

当前实现依赖于 web-sysjs-sys crate,并且仅在浏览器中工作。

// Create a client
let client = WasmClient::new("https://api.devnet.solana.com");

// Subscribe to changes
let id = client
    .account_subscribe(pubkey, |data| {
        // Handle change...
    })
    .await;

// Unsubscribe when its no longer being used to prevent memory leak
client.account_unsubscribe(id).await;

依赖关系

~23–37MB
~639K SLoC