1.0.2 β€’ Published 8 months ago

blockchain-tx-decoder v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

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.
1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago

0.0.1

8 months ago