Marketplace has launched, further enabling blockchain developers! Learn more

Contents

debug_traceCall RPC method

The debug_traceCall EVM method is only supported on the Avalanche C-Chain.

Parameters:

  1. Object - The transaction call object, should have this shape:

    from - (optional) String of the address the transaction is sent from.

    to - String of the address the transaction is directed to.

    gas - (optional) Integer of the gas provided for the transaction execution.

    gasPrice - (optional) Integer of the gasPrice used for each paid gas encoded as a hexadecimal.

    value - (optional) Integer of the value sent with this transaction encoded as a hexadecimal.

    data - (optional) String of the hash of the method signature and encoded parameters, see the Ethereum Contract ABI.

  2. Quantity or Tag - Integer block number, or the string 'latest', 'earliest' or 'pending', see the default block parameter.

    Returns:

    1. Array - Block traces, which have the following object shape (all return types are hexadecimal representations of their data type unless otherwise stated):

      Result - Transaction Trace Object, which has the following fields:

      Failed - Boolean.

      Gas - Quantity.

      ReturnValue - Data.

      StructLogs - Array:

      Entries - Array.

      StoragesByDepth - Array.

Code Examples:

To use the debug_traceCall EVM method on the Avalanche C-Chain, ensure that the end of your URL includes ext/bc/C/rpc.

const ethers = require("ethers");
(async () => {
  const provider = new ethers.providers.JsonRpcProvider("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/");
  const response = await provider.send("debug_traceCall", [
    {
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "data":
        "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE",
    },
    "latest",
  ]);
  console.log(response);
})();
Ready to get started? Create a free account