跳转到内容

Rust SDK

Aptos Rust SDK 是一个用户友好的、符合 Rust 惯用风格的 Aptos 区块链 SDK,功能与 TypeScript SDK 对等。它提供了与 Aptos 网络交互所需的一切:账户管理、交易构建、数据查询和智能合约交互。

将 SDK 添加到您的 Cargo.toml

[dependencies]
aptos-sdk = { git = "https://github.com/aptos-labs/aptos-rust-sdk", package = "aptos-sdk" }
tokio = { version = "1", features = ["full"] }
anyhow = "1"

SDK 使用 Cargo 功能特性标志来保持构建精简。只启用您需要的功能:

功能特性默认启用描述
ed25519Ed25519 签名方案(最常用)
secp256k1Secp256k1 ECDSA 签名(兼容 Bitcoin/Ethereum)
secp256r1P-256 ECDSA 签名(兼容 WebAuthn/passkey)
mnemonicBIP-39 助记词支持
indexerGraphQL 索引器客户端,用于查询索引数据
faucet测试网水龙头集成,用于为账户充值
blsBLS12-381 签名
keyless基于 OIDC 的无密钥认证
macros用于类型安全合约绑定的过程宏(aptos_contract!

仅使用 Ed25519 支持的最小构建:

[dependencies]
aptos-sdk = { git = "https://github.com/aptos-labs/aptos-rust-sdk", package = "aptos-sdk", default-features = false, features = ["ed25519"] }

启用所有功能特性:

[dependencies]
aptos-sdk = { git = "https://github.com/aptos-labs/aptos-rust-sdk", package = "aptos-sdk", features = ["full"] }
use aptos_sdk::{Aptos, AptosConfig};
use aptos_sdk::account::Ed25519Account;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Connect to testnet
let aptos = Aptos::new(AptosConfig::testnet())?;
// Generate a new account
let account = Ed25519Account::generate();
println!("Address: {}", account.address());
// Check balance
let balance = aptos.get_balance(account.address()).await?;
println!("Balance: {} octas", balance);
Ok(())
}

完整的 API 文档请参阅 docs.rs 参考

  • Rust: 1.90 或更高版本
  • 异步运行时: tokio(推荐)
  • 网络访问: 连接到 Aptos 全节点 REST 端点