This module provides utility functions for handling Solana blockchain transactions using @solana/web3.js.
It simplifies transaction creation, signing, sending, confirmation handling, retries, simulation, and error extraction for Solana-based applications.
The utility is designed for Web3 applications such as:
- NFT platforms
- DeFi applications
- Wallet integrations
- Staking systems
- Marketplace applications
- Solana backend services
- Send single transactions
- Send multiple transactions
- Sequential or parallel transaction execution
- Retry failed transactions
- Wait for transaction confirmations
- Simulate transactions before execution
- Extract transaction error logs
- Utility helper functions
Sends a single Solana transaction.
- Signs transactions with wallet
- Supports fee payer configuration
- Waits for confirmation
- Handles transaction errors
Sends multiple transactions.
- Sequential execution
- Parallel execution
- Stop-on-failure execution
Retries sending transactions when failures occur.
Useful for unstable network conditions or congested Solana RPC endpoints.
Handles:
- Raw transaction submission
- Retry loops
- Confirmation polling
- Simulation on failure
- Timeout handling
Waits for blockchain confirmation using:
- WebSocket subscriptions
- REST polling fallback
Simulates a transaction before execution.
Useful for:
- debugging,
- testing,
- and extracting Solana program logs.
Extracts readable error logs from confirmed transactions.
- TypeScript
- Solana Web3.js
- Wallet Adapter
- Solana RPC APIs
const result = await sendTransaction(
connection,
wallet,
instructions,
signers
);
console.log(result.txid);- Uses
skipPreflight: truefor faster submission. - Supports wallet adapter integrations.
- Optimized for frontend Web3 applications.
- Includes transaction retry logic and timeout handling.
- NFT minting
- Token transfers
- Solana DeFi protocols
- Marketplace transactions
- DAO voting systems
- Web3 gaming