🚀
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. Metis

debug_traceBlockByHash

Retrieves detailed execution information about transactions within a given block hash.

PreviousMetisNextdebug_traceBlockByNumber

Last updated 1 year ago

Parameters

  1. Blockhash - the hash of the block to be traced.

  2. Tracer - choose from one of these options:

    • 4byteTracer - Solidity contract functions are 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_traceBlockByHash",
  "params": [
    "0xf75853a120b34ffba9d40ad83b01f5f73a62797a9906cd9afd53509a525ae081",
    {
      "tracer": "unigramTracer"
    }
  ],
  "id": 1,
  "jsonrpc": "2.0"
}'

Sample Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "result": {
        "PUSH1": 667,
        "MSTORE": 282,
        "CALLDATASIZE": 24,
        "PUSH2": 453,
        "JUMPI": 199,
        "JUMPDEST": 403,
        "JUMP": 221,
        "PUSH32": 21,
        "SLOAD": 8,
        "SHL": 7,
        "SUB": 18,
        "AND": 7,
        "SWAP2": 135,
        "SWAP1": 253,
        "POP": 284,
        "CALLER": 1,
        "DUP1": 220,
        "CALLDATACOPY": 21,
        "DUP5": 87,
        "GAS": 5,
        "DELEGATECALL": 1,
        "CALLVALUE": 1,
        "ISZERO": 100,
        "LT": 105,
        "CALLDATALOAD": 3,
        "SHR": 1,
        "PUSH4": 4,
        "GT": 54,
        "EQ": 4,
        "DUP4": 190,
        "DUP6": 58,
        "SLT": 9,
        "DUP3": 215,
        "PUSH8": 7,
        "DUP2": 325,
        "ADD": 437,
        "DUP7": 31,
        "SWAP3": 67,
        "SWAP7": 5,
        "SWAP6": 10,
        "SWAP4": 26,
        "DIV": 8,
        "MUL": 98,
        "MLOAD": 295,
        "DUP9": 11,
        "DUP8": 19,
        "OR": 10,
        "SWAP5": 8,
        "DUP10": 11,
        "DUP11": 9,
        "DUP13": 3,
        "SWAP8": 5,
        "DUP12": 6,
        "SWAP9": 3,
        "DUP14": 1,
        "SWAP11": 2,
        "DUP15": 3,
        "SWAP13": 5,
        "SWAP10": 3,
        "SHA3": 7,
        "MOD": 2,
        "NOT": 30,
        "PUSH31": 1,
        "CODECOPY": 10,
        "STATICCALL": 4,
        "SWAP14": 1,
        "SSTORE": 3,
        "LOG3": 1,
        "STOP": 1,
        "RETURNDATASIZE": 2,
        "RETURNDATACOPY": 1,
        "RETURN": 1
      }
    }
  ]
}
🖥️
addressed