Transaction
Overview
The Transaction component is the fundamental building block for creating and managing BSV blockchain transactions. It provides a comprehensive API for constructing, signing, and serializing transactions.
Purpose
Transactions are the core mechanism for transferring value and storing data on the BSV blockchain. This component handles:
Creating new transactions
Adding inputs and outputs
Fee calculation
Transaction signing
Serialization for broadcasting
Basic Usage
import { Transaction } from '@bsv/sdk'
// Create a new transaction
const tx = new Transaction()
// Add inputs and outputs
tx.addInput(/* ... */)
tx.addOutput(/* ... */)
// Sign the transaction
await tx.sign()
// Serialize for broadcasting
const rawTx = tx.toHex()Key Features
Transaction Creation
Build transactions from scratch
Parse existing transactions
Clone and modify transactions
Input/Output Management
Add multiple inputs
Create various output types
Calculate change outputs
Fee Management
Automatic fee calculation
Custom fee rates
Fee estimation
Signing
Sign with private keys
Multi-signature support
Custom signing algorithms
Related Components
Transaction Input - Managing transaction inputs
Transaction Output - Creating outputs
UTXO Management - Working with UTXOs
Signatures - Digital signature operations
Code Examples
See Code Features - Transaction Creation for complete examples.
API Reference
Constructor
new Transaction(version?: number, inputs?: TransactionInput[], outputs?: TransactionOutput[], lockTime?: number)Methods
addInput(input: TransactionInput): voidaddOutput(output: TransactionOutput): voidsign(): Promise<void>toHex(): stringtoBuffer(): BuffergetFee(): number
Common Patterns
Simple Payment Transaction
Create a basic P2PKH payment transaction with automatic fee calculation.
Data Storage Transaction
Include data in OP_RETURN outputs for on-chain storage.
Multi-Input Transaction
Combine multiple UTXOs efficiently.
Best Practices
Always verify inputs before signing
Use appropriate fee rates for timely confirmation
Validate output amounts
Handle errors during signing
Keep transactions under size limits
Learning Path References
Beginner: Your First Transaction
Intermediate: Transaction Building
Last updated
