47 个版本 (29 个破坏性版本)

0.30.1 2024 年 6 月 20 日
0.29.0 2023 年 10 月 16 日
0.28.0 2023 年 6 月 9 日
0.27.0 2023 年 3 月 8 日
0.3.0 2021 年 3 月 12 日

#13 in #anchor

Download history • Rust 包仓库 1604/week @ 2024-05-03 • Rust 包仓库 1622/week @ 2024-05-10 • Rust 包仓库 1894/week @ 2024-05-17 • Rust 包仓库 1931/week @ 2024-05-24 • Rust 包仓库 1973/week @ 2024-05-31 • Rust 包仓库 1822/week @ 2024-06-07 • Rust 包仓库 1667/week @ 2024-06-14 • Rust 包仓库 2329/week @ 2024-06-21 • Rust 包仓库 1638/week @ 2024-06-28 • Rust 包仓库 1800/week @ 2024-07-05 • Rust 包仓库 1609/week @ 2024-07-12 • Rust 包仓库 2104/week @ 2024-07-19 • Rust 包仓库 2221/week @ 2024-07-26 • Rust 包仓库 1882/week @ 2024-08-02 • Rust 包仓库 2450/week @ 2024-08-09 • Rust 包仓库 1553/week @ 2024-08-16 • Rust 包仓库

8,441 每月下载次数
55 个 crate 中使用 (47 个直接使用)

Apache-2.0

46KB
983

一个用于与用 anchor_lang 编写的 Solana 程序交互的 RPC 客户端。

示例

一个简单的示例,创建客户端,发送交易并获取账户

use std::rc::Rc;

use anchor_client::{
    solana_sdk::{
        signature::{read_keypair_file, Keypair},
        signer::Signer,
        system_program,
    },
    Client, Cluster,
};
use my_program::{accounts, instruction, MyAccount};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create client
    let payer = read_keypair_file("keypair.json")?;
    let client = Client::new(Cluster::Localnet, Rc::new(payer));

    // Create program
    let program = client.program(my_program::ID)?;

    // Send a transaction
    let my_account_kp = Keypair::new();
    program
        .request()
        .accounts(accounts::Initialize {
            my_account: my_account_kp.pubkey(),
            payer: program.payer(),
            system_program: system_program::ID,
        })
        .args(instruction::Initialize { field: 42 })
        .signer(&my_account_kp)
        .send()?;

    // Fetch an account
    let my_account: MyAccount = program.account(my_account_kp.pubkey())?;
    assert_eq!(my_account.field, 42);

    Ok(())
}

更多示例可以在 这里 找到。

功能

客户端默认为阻塞式。要启用异步客户端,请添加 async 功能

anchor-client = { version = "0.30.1 ", features = ["async"] }

依赖项

~75MB
~1.5M SLoC