# eth_simulateV1：パラメータ、戻り値と CU

> Source: https://docs.blockvectra.com/ja/api/json-rpc/methods/eth_simulateV1/

## 用途

ブロードキャストせずに、ブロック状態に対して一連の呼び出しまたはトランザクションをシミュレートします。 ([公式ドキュメント](https://ethereum.github.io/execution-apis/api/methods/eth_simulateV1))

## Compute Unit（CU）と料金

- 呼び出しあたりの CU: 20 CU
- 100 万回呼び出しあたりの料金（USD）: $2.00

## パラメータ

| パラメータ名 | 型 | 説明 |
| --- | --- | --- |
| `payload` | `object` | シミュレーションペイロードオブジェクト：blockStateCalls（必須）はシミュレートするブロックの配列で、それぞれオプションの blockOverrides（ブロックヘッダーの上書き）、stateOverrides（アカウント状態の上書き）、calls（そのブロックで実行する呼び出しまたはトランザクション）を含みます。validation（ブール値、デフォルトは false）は、true の場合に通常の EVM が行う検証の大部分を実行し、false の場合は eth_call と同様に動作します。traceTransfers（ブール値、デフォルトは false）は、ETH 転送を ERC-20 Transfer イベントとしてログに追加します。returnFullTransactions（ブール値）は、true の場合に完全なトランザクションオブジェクトを返し、そうでない場合はハッシュのみを返します。 |
| `block` | `QUANTITY\|TAG\|HASH` | シミュレーションの実行対象となるブロック番号（0x プレフィックス付き 16 進数）、ブロックハッシュ、またはブロックタグ（オプション）。デフォルトは 'latest' です。 |

## 戻り値

- **型**: `ARRAY`
- **説明**: EthSimulateResult：シミュレートされたブロックオブジェクトの配列。各ブロックには number、hash、parentHash、timestamp、gasLimit、gasUsed、baseFeePerGas、feeRecipient などのブロックヘッダーフィールドと calls 配列が含まれます。各呼び出しには status（0x1 成功、0x0 失敗）、returnData、gasUsed、maxUsedGas が含まれ、成功時には logs、失敗時には error が含まれます。

## 注意事項

利用可否はチェーンのメソッドポリシー（methods.allow）に依存します。このメソッドが有効になっていないチェーンでは、-32601 method not available を返します（課金なし）。

## リクエスト例

```bash
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)、Ethereum (eth_mainnet)、Ethereum Sepolia (eth_sepolia)、HyperEVM (hyperevm_mainnet)。
