Expand description
Transaction building and signing.
This module provides types and utilities for constructing, signing, and submitting transactions to the Aptos blockchain.
§Overview
The transaction module supports several transaction types:
- Simple transactions - Single sender, self-paid gas
- Multi-agent transactions - Multiple signers required
- Sponsored transactions - Fee payer pays gas on sender’s behalf
- Batch transactions - Multiple transactions submitted efficiently
§Example: Simple Transaction
ⓘ
use aptos_sdk::transaction::{TransactionBuilder, EntryFunction};
use aptos_sdk::types::AccountAddress;
let payload = EntryFunction::apt_transfer(recipient, 1000)?;
let signed_txn = TransactionBuilder::new()
.sender(sender.address())
.sequence_number(0)
.payload(payload.into())
.chain_id(ChainId::testnet())
.build_and_sign(&sender)?;§Example: Type-Safe Payload Building
ⓘ
use aptos_sdk::transaction::InputEntryFunctionData;
// Simple and ergonomic payload construction
let payload = InputEntryFunctionData::new("0x1::aptos_account::transfer")
.arg(recipient)
.arg(1_000_000u64)
.build()?;
// With type arguments
let payload = InputEntryFunctionData::new("0x1::coin::transfer")
.type_arg("0x1::aptos_coin::AptosCoin")
.arg(recipient)
.arg(amount)
.build()?;§Example: Sponsored Transaction
ⓘ
use aptos_sdk::transaction::{SponsoredTransactionBuilder, EntryFunction};
let payload = EntryFunction::apt_transfer(recipient, 1000)?;
let signed_txn = SponsoredTransactionBuilder::new()
.sender(&user_account)
.sequence_number(0)
.fee_payer(&sponsor_account)
.payload(payload.into())
.chain_id(ChainId::testnet())
.build_and_sign()?;§Example: Batch Transactions
ⓘ
use aptos_sdk::transaction::batch::TransactionBatchBuilder;
let batch = TransactionBatchBuilder::new()
.sender(account.address())
.starting_sequence_number(seq_num)
.chain_id(ChainId::testnet())
.add_payload(payload1)
.add_payload(payload2)
.build_and_sign(&account)?;
// Submit all in parallel
let results = batch.submit_all(&client).await;Re-exports§
pub use authenticator::AccountAuthenticator;pub use authenticator::Ed25519Authenticator;pub use authenticator::TransactionAuthenticator;pub use batch::BatchOperations;pub use batch::BatchSummary;pub use batch::BatchTransactionResult;pub use batch::BatchTransactionStatus;pub use batch::SignedTransactionBatch;pub use batch::TransactionBatchBuilder;pub use builder::TransactionBuilder;pub use builder::sign_transaction;pub use input::InputEntryFunctionData;pub use input::InputEntryFunctionDataBuilder;pub use input::IntoMoveArg;pub use input::MoveI128;pub use input::MoveI256;pub use input::MoveU256;pub use input::functions;pub use input::move_none;pub use input::move_some;pub use input::move_string;pub use input::move_vec;pub use input::types as move_types;pub use payload::EntryFunction;pub use payload::Script;pub use payload::ScriptArgument;pub use payload::TransactionPayload;pub use simulation::SimulatedEvent;pub use simulation::SimulationOptions;pub use simulation::SimulationResult;pub use simulation::StateChange;pub use simulation::VmError;pub use simulation::VmErrorCategory;pub use sponsored::PartiallySigned;pub use sponsored::Sponsor;pub use sponsored::SponsoredTransactionBuilder;pub use sponsored::sponsor_transaction;pub use types::RawTransaction;pub use types::RawTransactionOrderless;pub use types::SignedTransaction;pub use types::SignedTransactionOrderless;pub use types::TransactionInfo;
Modules§
- authenticator
- Transaction authenticators.
- batch
- Transaction batching for efficient multi-transaction submission.
- builder
- Transaction builder.
- input
- Type-safe entry function payload builders.
- payload
- Transaction payloads.
- simulation
- Transaction simulation for pre-flight validation.
- sponsored
- Sponsored transaction helpers.
- types
- Transaction types.