4. Transaction Building
Overview
TransactionBuilder Class
Creating a Builder Instance
import { TransactionBuilder } from '@amadeus-protocol/sdk'
// Create builder with private key (convenient for multiple transactions)
const builder = new TransactionBuilder('5Kd3N...') // Base58 encoded seed
// Or create without private key (must provide keys in each method call)
const builder = new TransactionBuilder()Building Transfer Transactions
Option 1: Build and Sign in One Step (Recommended)
const builder = new TransactionBuilder(privateKey)
const { txHash, txPacked } = builder.transfer({
recipient: '5Kd3N...', // Base58 encoded recipient address
amount: 10.5, // Amount in human-readable format
symbol: 'AMA' // Token symbol
})
// Submit the transaction
const result = await sdk.transaction.submit(txPacked)Option 2: Build Unsigned, Then Sign (More Control)
Building Custom Transactions
Option 1: Build and Sign in One Step
Option 2: Build Unsigned, Then Sign
Using Static Methods
Build and Sign Transfer
Build Unsigned, Then Sign
Transaction Structure
Unsigned Transaction
Signed Transaction Result
Transaction Nonces
Amount Handling
Submitting Transactions
Submit Without Waiting
Submit and Wait for Confirmation
Common Transaction Types
Token Transfer
Contract Call
Error Handling
Best Practices
1. Always Validate Inputs
2. Check Balance Before Transferring
3. Use Appropriate Nonce Timing
4. Handle Transaction Errors
Advanced Usage
Building Transactions Without Private Key
Inspecting Transactions
Next Steps
Last updated