JSON-RPC方法

debug_traceCall:参数、返回值与 CU

在指定区块状态上模拟执行调用并生成执行追踪(Trace)。

用途

在指定区块状态上模拟执行调用,并生成该调用的执行追踪(Trace)数据。 官方文档

计算单位(CU)与价格

单次调用 CU

100 CU

每百万次调用价格(USD)

$10.00

参数

参数名类型说明
callobject交易调用对象,包含 from、to、data、gas、gasPrice、value 等字段。
blockQUANTITY|TAG|HASH执行追踪所依据的区块号(0x 十六进制数量)、区块哈希,或标签 'latest' / 'pending';使用 safe、finalized、earliest 返回 -32011。
optionsobject追踪选项对象(可选):tracer 为 callTracer、flatCallTracer、prestateTracer、4byteTracer 或 noopTracer,省略则使用默认 struct logger,其他值返回 -32602 tracer not allowed;tracerConfig 传入该 tracer 的配置(如 callTracer 的 onlyTopCall、withLog,prestateTracer 的 diffMode);timeout 最长 30s;reexec 指定重放交易时覆盖的区块号;另支持 stateOverrides、blockOverrides 与 txIndex。

返回值

  • 类型: OBJECT
  • 说明: 执行追踪结果对象,格式取决于所选 tracer(使用 callTracer 时为 CallFrame 调用树)。

注意事项

目标区块须在链的状态保留窗口(state_window_blocks)内,超出窗口返回 -32011(不计费)。

请求示例

export BLOCKVECTRA_API_KEY=rgw_your_api_key

curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "method": "debug_traceCall",
    "params": [
      {
        "to": "<toAddress>",
        "data": "<callData>"
      },
      "latest",
      {
        "tracer": "callTracer"
      }
    ],
    "id": 1
  }'

可用链

除以下链外,其余支持链均可用:Base (base_mainnet)、BNB Smart Chain (bsc_mainnet)、Ethereum Sepolia (eth_sepolia)、HyperEVM (hyperevm_mainnet)。

最后更新: