En esta página
Transacciones
Conecta el proveedor antes de firmar y confirma la red seleccionada. El proveedor inyectado directo y el adaptador Aptos Wallet Standard usan tipos de argumentos distintos; no intercambies sus ejemplos. Sustituye las direcciones abreviadas y proporciona un cliente SDK para las llamadas de solo lectura.
Aprende a firmar y enviar transacciones en Aptos.
Firmar y enviar una transacción
// Simple APT transfer
const payload = {
type: 'entry_function_payload',
function: '0x1::aptos_account::transfer',
type_arguments: [],
arguments: [
'0x1234...', // Recipient address
'100000000', // Amount in Octas (1 APT = 100000000 Octas)
],
}
const response = await provider.signAndSubmitTransaction(payload)
console.log('Transaction hash:', response.hash)Firmar una transacción (sin enviarla)
const payload = {
type: 'entry_function_payload',
function: '0x1::coin::transfer',
type_arguments: ['0x1::aptos_coin::AptosCoin'],
arguments: ['0x1234...', '100000000'],
}
const signedTxn = await provider.signTransaction(payload)
// Submit later using Aptos SDK
// const pendingTxn = await client.submitTransaction(signedTxn)Firmar una transacción V2 (serializada con BCS)
Para casos de uso avanzados con transacciones serializadas con BCS:
const rawTransaction = '<BCS_SERIALIZED_TRANSACTION>'; // Use the encoding expected by your wallet version
const signedTxn = await provider.signTransactionV2({
transaction: rawTransaction,
transactionType: 'simple', // 'simple' or 'multi_agent'
asFeePayer: false,
})Opciones de transacción
const payload = {
type: 'entry_function_payload',
function: '0x1::aptos_account::transfer',
type_arguments: [],
arguments: ['0x1234...', '100000000'],
}
// The legacy direct method takes only a payload.
const response = await provider.signAndSubmitTransaction(payload)
// For gas options, use signAndSubmitTransactionV2 with the matching Wallet Standard input.Interacción con contratos inteligentes
Llamar a una función de consulta
// View functions don't require signing
const result = await client.view({
function: '0x1::coin::balance',
type_arguments: ['0x1::aptos_coin::AptosCoin'],
arguments: [accountAddress],
})
console.log('Balance:', result[0])Llamar a una función de entrada
// Mint NFT example
const payload = {
type: 'entry_function_payload',
function: '0x3::token::create_collection_script',
type_arguments: [],
arguments: [
'My Collection', // Collection name
'Description', // Description
'https://example.com', // URI
'1000', // Maximum supply
[false, false, false], // Mutability config
],
}
const response = await provider.signAndSubmitTransaction(payload)Transacciones con varios agentes
Para transacciones que requieren varios firmantes:
const signedTxn = await provider.signTransactionV2({
transaction: rawTransaction,
transactionType: 'multi_agent',
})Transacciones con pagador de comisiones
Firma como pagador de comisiones en transacciones patrocinadas:
const signedTxn = await provider.signTransactionV2({
transaction: rawTransaction,
transactionType: 'simple',
asFeePayer: true,
})Última actualización el