Skip to main content
Glama
utxo.ts1.76 kB
import { Transaction } from "@bsv/sdk"; export async function getTransactionById( txid: string, ): Promise<Transaction | null> { const url = `https://junglebus.gorillapool.io/v1/transaction/${txid}`; try { const response = await fetch(url); if (!response.ok) { console.error( `Failed to fetch transaction ${txid} from Junglebus: ${response.status} ${response.statusText}`, ); return null; } const rawTxBuffer = await response.arrayBuffer(); if (!rawTxBuffer) { console.error(`Empty raw transaction buffer for ${txid} from Junglebus`); return null; } const uint8Array = arrayBufferToUint8Array(rawTxBuffer); const tx = Transaction.fromBinary(uint8Array); return tx; } catch (error) { console.error( `Error fetching or parsing transaction ${txid}: ${error instanceof Error ? error.message : String(error)}`, ); return null; } } export async function getBeefTransactionById( txid: string, ): Promise<Transaction | null> { const url = `https://junglebus.gorillapool.io/v1/transaction/beef/${txid}`; try { // console.error("URL:", url); const response = await fetch(url); if (!response.ok) { console.warn( `Failed to fetch transaction ${txid} from Junglebus: ${response.status} ${response.statusText}`, ); return null; } const rawTxBuffer = await response.arrayBuffer(); if (!rawTxBuffer) { console.warn(`Empty raw transaction buffer for ${txid} from Junglebus`); return null; } const uint8Array = arrayBufferToUint8Array(rawTxBuffer); const tx = Transaction.fromBEEF(uint8Array, txid); return tx; } catch (error) { console.warn( `Error fetching or parsing transaction ${txid}: ${error instanceof Error ? error.message : String(error)}`, ); return null; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/b-open-io/bsv-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server