Skip to Content
dApps

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