1.0.2 β’ Published 8 months ago
blockchain-tx-decoder v1.0.2
blockchain-tx-decoder
blockchain-tx-decoder is a library that decodes Ethereum transactions, extracting details such as basic transaction data, contract information, emitted events, and failure data in case of errors.
π Installation
npm install blockchain-tx-decoder ethers
Dependencies:
- ethers.js: Used for handling Ethereum interactions.
βοΈ Setup
import { TransactionDecoder } from 'blockchain-tx-decoder';
import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_KEY');
const contractsInfo = [
{
abi: [...], // Contract ABI
bytecode: '0x...', // Optional: Bytecode for constructor transactions. Required if tx deploy a contract
},
];
const decoder = new TransactionDecoder({ provider, contractsInfo });
π Usage
1. Get Transaction Data
const txHash = '0x123abc...' // Transaction hash
const txData = await decoder.getTxData(txHash)
console.log(txData)
2. Response from getTxData
The method returns an object with three main parts:
transactionData
: Basic information (sender, recipient, status, value, etc.).contractData
: Contract-related information such as the executed method, events, and arguments.revertData
(optional): Error details if the transaction failed (name and arguments).
π API
Class: TransactionDecoder
Constructor:
new TransactionDecoder({ provider, contractInfo })
provider
: A provider compatible with ethers.js.contractInfo
: List of objects containing the contract's ABI and bytecode.
Main Method:
getTxData(txHash: string): Promise<TxData>
txHash
: Transaction hash to analyze.- Possible Errors:
InvalidTxHash
: If the hash is invalid.ContractNotFound
: If no compatible contract is found.ConstructorTransaction
: If itβs a constructor transaction and don't have the bytecode.