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

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

## 用途

指定したブロック状態の上で eth_call をシミュレート実行し、実行トレース（Trace）を生成します。 ([公式ドキュメント](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracecall))

## Compute Unit（CU）と料金

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

## パラメータ

| パラメータ名 | 型 | 説明 |
| --- | --- | --- |
| `call` | `object` | トランザクション呼び出しオブジェクト。from、to、data、gas、gasPrice、value を含みます。 |
| `block` | `QUANTITY\|TAG\|HASH` | トレースの基準となるブロック番号（0x プレフィックス付き 16 進数）、ブロックハッシュ、またはタグ 'latest' / 'pending'。safe、finalized、earliest は -32011 を返します。 |
| `options` | `object` | トレースオプションオブジェクト（オプション）：tracer は callTracer、flatCallTracer、prestateTracer、4byteTracer、または noopTracer で、省略した場合はデフォルトの struct logger が使用されます。その他の値は -32602 tracer not allowed を返します。tracerConfig は tracer 固有のオプション（callTracer の onlyTopCall や withLog、prestateTracer の diffMode など）を渡します。timeout は最大 30 秒です。reexec はトランザクションを再実行するブロック番号を設定します。stateOverrides、blockOverrides、txIndex もサポートされています。 |

## 戻り値

- **型**: `OBJECT`
- **説明**: リクエストされた tracer に一致する実行トレース結果オブジェクト（callTracer の場合は CallFrame 呼び出しツリー）。

## 注意事項

対象ブロックはチェーンの状態保持ウィンドウ（state_window_blocks）内にある必要があります。ウィンドウ外のリクエストは -32011 を返します（課金なし）。

## リクエスト例

```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": "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)。
