🚀
Nodies Docs
Visit Nodies Homepage
  • 👋Nodies Guide
  • Overview
    • 💡Our Infrastructure
    • 📑Supported Blockchains
  • RPC services
    • 📪Public endpoints
    • 💲Pricing Plans
  • Snapshot services
    • 💾Overview
    • ⏬Downloading Snapshots
  • 🖥️Supported API Methods
    • Ethereum
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceCall
      • debug_traceTransaction
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_createAccessList
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockReceipts
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_getUncleByBlockHashAndIndex
      • eth_getUncleByBlockNumberAndIndex
      • eth_getUncleCountByBlockHash
      • eth_getUncleCountByBlockNumber
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • trace_block
      • trace_call
      • trace_callMany
      • trace_filter
      • trace_get
      • trace_replayBlockTransactions
      • trace_replayTransaction
      • trace_transaction
      • web3_clientVersion
      • web3_sha3
    • Polygon (Mainnet / PoS)
      • bor_getAuthor
      • bor_getCurrentProposer
      • bor_getCurrentValidators
      • bor_getRootHash
      • bor_getSignersAtHash
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceCall
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_createAccessList
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockReceipts
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getRootHash
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • trace_block
      • trace_call
      • trace_callMany
      • trace_filter
      • trace_get
      • trace_replayBlockTransactions
      • trace_replayTransaction
      • trace_transaction
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
    • Kava
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getRootHash
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
    • Metis
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_coinbase
      • eth_estimateGas
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
  • Performance Benchmarks
    • 🐎Benchmark standard
    • Ethereum Benchmarks
    • Polygon Benchmarks
    • BASE Benchmarks
    • Optimism Benchmarks
    • Metis Benchmarks
    • Kava Benchmarks
    • Stellar Benchmarks
  • Application Guide
    • 📝Registration
    • 📔Projects & Teams
    • 🥇Creating your First Project & Application
      • ✏️Define your Project Name
      • 👨‍👨‍👦‍👦Invite your Team Members
      • 🎬Creating your First Application
    • 🛣️Route to Pocket
    • 🚪Dashboard
    • 🔐Endpoint Security: API Key Management
    • ♻️Viewing Statistics
Powered by GitBook
On this page
  1. Supported API Methods
  2. Ethereum

debug_traceTransaction

Provides a detailed record of how the transaction interacts with smart contracts, accounts, and other elements on the blockchain, helping developers understand what happened and troubleshoot issues.

Parameters

  1. Transaction Hash.

  2. Tracer - choose from one of these options:

    • 4byteTracer - Solidity contract functions are addressed using the first four byte of the Keccak-256 hash of their signature. This tracer monitors and analyzes the usage of specific function signatures within smart contracts by capturing their unique first four bytes.

    • callTracer - collects data about all call frames executed within a transaction, creating a hierarchical list of call frames structured mirroring the EVM's operations. This is useful for debugging and analytical purposes.

    • prestateTracer - captures and analyzes the state of the blockchain before the execution of a specific transaction. It helps in understanding the state changes and effects that a transaction will have on the blockchain's data and accounts before the transaction is actually executed.

    • noopTracer - returns empty results. This is used for testing purpose.

    • opcountTracer - count and track the number of operations (or opcodes) executed during a specific transaction.

    • unigramTracer - counts the frequency of occurrence of each opcode.

    • bigramTracer - a bigram refers to a sequence of two bytes or characters. This tracer is designed to observe and provide insights into the patterns and occurrences of these two-byte sequences as they appear within the data of executed transactions.

    • trigramTracer - a trigram refers to a sequence of three bytes or characters. This tracer is designed to observe and provide insights into the patterns and occurrences of these three-byte sequences as they appear within the data of executed transactions.

    • evmdisTracer - generates the bytecode disassembly of executed transactions, providing developers with insights into how smart contracts operate at a low-level bytecode level for debugging, security audits, and performance optimization purposes.

Sample Request

curl https://lb.nodies.app/v1/<INSERT URL> \
   -H "x-api-key: <API-KEY>" \
   -X POST \
   -H "Content-Type: application/json" \
   -d '{ 
  "method": "debug_traceTransaction",
  "params": [
    "0x00389d11639c3d1b48019208565b4f12e1656762dcd3b91e5865e2c04c4191bf",
    {
      "tracer": "callTracer"
    }
  ],
  "id": 1,
  "jsonrpc": "2.0"
}'

Sample Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "from": "0x9534da06b535910967e52e4dd1b67898d1f112b1",
    "gas": "0x8cbc",
    "gasUsed": "0xa15d",
    "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "input": "0xa9059cbb0000000000000000000000005e85a36599e122204123200fca30d7f6942769a900000000000000000000000000000000000000000000000000000000059a5380",
    "value": "0x0",
    "type": "CALL"
  }
}
Previousdebug_traceCallNexteth_blockNumber

Last updated 1 year ago

🖥️