JSON-RPC方法

eth_simulateV1:参数、返回值与 CU

在指定区块状态上批量模拟执行调用或交易序列,无需广播上链。

用途

在指定区块状态上批量模拟执行调用或交易序列,无需广播上链。 官方文档

计算单位(CU)与价格

单次调用 CU

20 CU

每百万次调用价格(USD)

$2.00

参数

参数名类型说明
payloadobject模拟载荷对象:blockStateCalls(必填)为模拟区块数组,每个区块可含 blockOverrides(区块头字段覆盖)、stateOverrides(账户状态覆盖)与 calls(该区块要执行的调用或交易数组);validation(布尔,默认 false)为 true 时执行与普通 EVM 相同的大部分校验,为 false 时按 eth_call 处理;traceTransfers(布尔,默认 false)为 true 时把 ETH 转账作为 ERC-20 Transfer 事件加入日志;returnFullTransactions(布尔)为 true 时返回完整交易对象,否则只返回哈希。
blockQUANTITY|TAG|HASH可选,模拟所依据的区块号(0x 十六进制数量)、区块哈希或区块标签;默认 'latest'。

返回值

  • 类型: ARRAY
  • 说明: EthSimulateResult:模拟区块对象数组,每个区块包含 number、hash、parentHash、timestamp、gasLimit、gasUsed、baseFeePerGas、feeRecipient 等区块头字段以及 calls 数组;每个调用含 status(0x1 成功、0x0 失败)、returnData、gasUsed、maxUsedGas,成功时含 logs,失败时含 error。

注意事项

开放情况取决于链的方法策略(methods.allow)。未开启该方法的链将返回 -32601 方法未开放(不计费)。

请求示例

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": "eth_simulateV1",
    "params": [
      {
        "blockStateCalls": [
          {
            "calls": [
              {
                "to": "<toAddress>",
                "data": "<callData>"
              }
            ]
          }
        ]
      },
      "latest"
    ],
    "id": 1
  }'

可用链

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

最后更新: