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
8,441 每月下载次数
在 55 个 crate 中使用 (47 个直接使用)
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