trace_callMany

Traces the execution of eth_call and provides detailed information about each step of the execution. This is similar to debug_traceCall.

Parameters

  1. List of trace calls with the following parameters:

    1. Object - The transaction call object with the following:

      • from(optional): the address the transaction is sent from.

      • to(optional): the address the transaction is sent to.

      • gas(optional): Integer of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions.

      • gasPrice(optional): Integer of the gasPrice used for each paid gas.

      • value(optional): Integer of the value sent with this transaction.

      • data(optional): Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI in the Solidity documentation.

    2. Type of trace - choose 1 of the following options:

      • "trace" - Provides an ordered trace of the instructions.

      • "stateDiff" - Provides information detailing all altered portions of the Ethereum state made due to the execution of the transaction.

      • "vmTrace" - Provides a full trace of the VM’s state throughout the execution of the transaction, including for any subcalls.

  2. Quantity or tag - choose 1 of the following options:

    • A hexadecimal block number.

    • "earliest" - the earliest/genesis block.

    • "latest" - the latest mined block.

    • "safe" - the latest safe head block.

    • "finalized" - the latest finalized block.

    • "pending" - the pending state/transactions.

Sample Request

curl https://lb.nodies.app/v1/<INSERT URL> \
   -H "x-api-key: <API-KEY>" \
   -X POST \
   -H "Content-Type: application/json" \
   -d '{ 
  "jsonrpc": "2.0",
  "method": "trace_callMany",
   "params": [
    [
      [
        {
          "from": "0xEf8801eaf234ff82801821FFe2d78D60a0237F97",
          "to": "0x149B5584426E6195d67c223F396870Ab975Cc6Ad",
          "value": "0x1"
        },
        [
          "trace"
        ]
      ],
      [
        {
          "from": "0xEf8801eaf234ff82801821FFe2d78D60a0237F97",
          "to": "0x6326cAEB1BE2C7cDb8c31e46662368C31ebaECf4",
          "value": "0x1"
        },
        [
          "trace"
        ]
      ]
    ],
    "latest"
  ],
  "id": 1,
  "jsonrpc": "2.0"
}'

Sample Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "output": "0x",
      "stateDiff": null,
      "trace": [
        {
          "action": {
            "from": "0xef8801eaf234ff82801821ffe2d78d60a0237f97",
            "callType": "call",
            "gas": "0x2fa9e78",
            "input": "0x",
            "to": "0x149b5584426e6195d67c223f396870ab975cc6ad",
            "value": "0x1"
          },
          "result": {
            "gasUsed": "0x0",
            "output": "0x"
          },
          "subtraces": 0,
          "traceAddress": [],
          "type": "call"
        }
      ],
      "vmTrace": null
    },
    {
      "output": "0x",
      "stateDiff": null,
      "trace": [
        {
          "action": {
            "from": "0xef8801eaf234ff82801821ffe2d78d60a0237f97",
            "callType": "call",
            "gas": "0x2fa9e78",
            "input": "0x",
            "to": "0x6326caeb1be2c7cdb8c31e46662368c31ebaecf4",
            "value": "0x1"
          },
          "result": {
            "gasUsed": "0x0",
            "output": "0x"
          },
          "subtraces": 0,
          "traceAddress": [],
          "type": "call"
        }
      ],
      "vmTrace": null
    }
  ]
}

Last updated