Skip to content

arkellahi82-tech/o5o-staking-frontend

Repository files navigation

Solana Transaction Utility

Overview

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

Features

  • 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

Main Functions

sendTransaction()

Sends a single Solana transaction.

Features

  • Signs transactions with wallet
  • Supports fee payer configuration
  • Waits for confirmation
  • Handles transaction errors

sendTransactions()

Sends multiple transactions.

Supports

  • Sequential execution
  • Parallel execution
  • Stop-on-failure execution

sendTransactionWithRetry()

Retries sending transactions when failures occur.

Useful for unstable network conditions or congested Solana RPC endpoints.


sendSignedTransaction()

Handles:

  • Raw transaction submission
  • Retry loops
  • Confirmation polling
  • Simulation on failure
  • Timeout handling

awaitTransactionSignatureConfirmation()

Waits for blockchain confirmation using:

  • WebSocket subscriptions
  • REST polling fallback

simulateTransaction()

Simulates a transaction before execution.

Useful for:

  • debugging,
  • testing,
  • and extracting Solana program logs.

getErrorForTransaction()

Extracts readable error logs from confirmed transactions.


Technologies Used

  • TypeScript
  • Solana Web3.js
  • Wallet Adapter
  • Solana RPC APIs

Example Usage

const result = await sendTransaction(
  connection,
  wallet,
  instructions,
  signers
);

console.log(result.txid);

Notes

  • Uses skipPreflight: true for faster submission.
  • Supports wallet adapter integrations.
  • Optimized for frontend Web3 applications.
  • Includes transaction retry logic and timeout handling.

Use Cases

  • NFT minting
  • Token transfers
  • Solana DeFi protocols
  • Marketplace transactions
  • DAO voting systems
  • Web3 gaming

About

o5o Staking Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors