Rust SDK 快速入门
-
创建 Cargo 项目并添加 SDK
该 SDK 需要 Rust 1.95+。
Terminal window cargo new aptos-rust-quickstartcd aptos-rust-quickstart将依赖添加到
Cargo.toml:[dependencies]aptos-sdk = "0.7"tokio = { version = "1", features = ["full"] }anyhow = "1"serde_json = "1" -
设置 Aptos 客户端
use aptos_sdk::{Aptos, AptosConfig};let aptos = Aptos::new(AptosConfig::devnet())?;println!("Connected to Aptos devnet"); -
创建并为账户注资
use aptos_sdk::account::Ed25519Account;let alice = Ed25519Account::generate();let bob = Ed25519Account::generate();// 默认 max_gas_amount 为 2_000_000。注资金额应明显高于转账金额。aptos.fund_account(alice.address(), 1_000_000_000).await?;也可使用
aptos.create_funded_account(amount)一步完成生成和注资。 在 testnet 上,请从水龙头页面铸造。 -
转移 APT
aptos.transfer_apt会构建、签名、提交并等待。let result = aptos.transfer_apt(&alice, bob.address(), 1_000).await?;println!("Submitted: {:?}", result.data.get("hash"));有关更底层的构建 → 模拟 → 签名 → 提交 → 等待流程,请参阅 构建交易。
完整快速入门代码
Section titled “完整快速入门代码”use aptos_sdk::{Aptos, AptosConfig, account::Ed25519Account};
const FUND_AMOUNT: u64 = 1_000_000_000;const TRANSFER_AMOUNT: u64 = 1_000;
#[tokio::main]async fn main() -> anyhow::Result<()> { let aptos = Aptos::new(AptosConfig::devnet())?;
let alice = Ed25519Account::generate(); let bob = Ed25519Account::generate();
println!("=== Addresses ==="); println!("Alice: {}", alice.address()); println!("Bob: {}", bob.address());
aptos.fund_account(alice.address(), FUND_AMOUNT).await?;
println!("=== Initial Balances ==="); println!("Alice: {}", aptos.get_balance(alice.address()).await?); println!("Bob: {}", aptos.get_balance(bob.address()).await?);
let result = aptos .transfer_apt(&alice, bob.address(), TRANSFER_AMOUNT) .await?; println!("Submitted: {:?}", result.data.get("hash"));
println!("=== Final Balances ==="); println!("Alice: {}", aptos.get_balance(alice.address()).await?); println!("Bob: {}", aptos.get_balance(bob.address()).await?);
Ok(())}运行:
cargo run你刚刚学习了如何通过以下步骤转移 APT:
- 使用
Aptos::new连接网络。 - 创建并为账户注资。
- 提交转账并等待执行。