Ir al contenido

SDK de Rust

El SDK de Rust para Aptos es un SDK idiomatico y facil de usar para la blockchain de Aptos, con paridad de funcionalidades respecto al SDK de TypeScript. Proporciona todo lo necesario para interactuar con la red de Aptos: gestion de cuentas, construccion de transacciones, consulta de datos e interaccion con contratos inteligentes.

Agrega el SDK a tu Cargo.toml:

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

El SDK utiliza feature flags de Cargo para mantener las compilaciones ligeras. Habilita solo lo que necesites:

FeaturePor defectoDescripcion
ed25519SiEsquema de firma Ed25519 (el mas comun)
secp256k1SiFirmas ECDSA Secp256k1 (compatible con Bitcoin/Ethereum)
secp256r1SiFirmas ECDSA P-256 (compatible con WebAuthn/passkey)
mnemonicSiSoporte para frases mnemonicas BIP-39
indexerSiCliente de indexador GraphQL para consultar datos indexados
faucetSiIntegracion con faucet de testnet para financiar cuentas
blsNoFirmas BLS12-381
keylessNoAutenticacion keyless basada en OIDC
macrosNoMacros procedurales para bindings de contratos con tipado seguro (aptos_contract!)

Para una compilacion minima con solo soporte Ed25519:

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

Para habilitar todas las funcionalidades:

[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(())
}

Para la documentacion completa de la API, consulta la referencia en docs.rs.

  • Rust: 1.90 o posterior
  • Runtime asincrono: tokio (recomendado)
  • Acceso a la red: Conexion a un endpoint REST de un fullnode de Aptos