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 129/week @ 2024-04-04 256/week @ 2024-04-11 90/week @ 2024-04-18 10/week @ 2024-04-25 43/week @ 2024-05-02 3/week @ 2024-05-16 10/week @ 2024-05-23 13/week @ 2024-05-30 22/week @ 2024-06-06 54/week @ 2024-06-13 22/week @ 2024-06-20 14/week @ 2024-06-27 29/week @ 2024-07-04 25/week @ 2024-07-11 193/week @ 2024-07-18

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