2个版本 (1个稳定版)
1.0.1 | 2024年5月8日 |
---|---|
1.0.0-alpha | 2024年5月7日 |
#578 在 数据结构
每月43次下载
65KB
1K SLoC
aleo-agent
aleo-agent是一个易于使用的库,用于在Rust中与Aleo网络交互
lib.rs
:
aleo-agent
是一个易于使用的库,使您能够使用Rust构建应用程序并与Aleo网络交互。
概述
aleo-agent
提供了一套用于部署和执行程序的工具,以及与Aleo网络通信的工具。
代理设计用于公开与Aleo网络通信的底层API(例如节点API)以及与部署程序通信的高级API。
示例
在这个示例中,对Aleo网络的调用展示了如何创建一个代理来访问其公开余额并将1个信用(相当于1,000,000个微信用)从公开余额转移到接收者地址。
use aleo_agent::account::Account;
use aleo_agent::agent::{Agent, TransferArgs, TransferType};
use aleo_agent::{Address, MICROCREDITS};
use anyhow::Result;
use std::str::FromStr;
// recipient address format: aleo1...
fn transfer_public_balance(recipient_address : &str) -> Result<()> {
// private key format: APrivateKey1zkp...
let private_key = "YOUR PRIVATE KEY";
// build an account using the private key
let account = Account::from_private_key(private_key)?;
// build an agent using the account
let agent = Agent::builder().with_account(account).build();
let public_balance = agent.get_public_balance()?;
println!("Public Balance : {}", public_balance);
let recipient_address = Address::from_str(recipient_address).expect("Invalid recipient address");
// transfer 1 credit to recipient_address
let transfer_args = TransferArgs::from(
MICROCREDITS, // 1 credit
recipient_address,
1,
None,
TransferType::Public,
);
let tx_hash = agent.transfer(transfer_args)?;
println!("Transfer tx hash: {}", tx_hash);
Ok(())
}
有关此示例中使用的代理接口的更多信息,请参阅agent
模块中的示例。
参考资料
有关Aleo网络和Aleo程序简介,请参阅以下资源
依赖项
~67MB
~1M SLoC