# debug_traceTransaction：參數、傳回值與 CU

> Source: https://docs.blockvectra.com/zh-hant/api/json-rpc/methods/debug_traceTransaction/

## 用途

重放指定交易的執行過程，並產生執行追蹤（Trace）資料。 ([官方文件](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracetransaction))

## 計算單位（CU）與價格

- 單次呼叫 CU: 100 CU
- 每百萬次呼叫價格（USD）: $10.00

## 參數

| 參數名 | 類型 | 說明 |
| --- | --- | --- |
| `transactionHash` | `HASH` | 要追蹤的 32 位元組交易雜湊，0x 十六進位。 |
| `options` | `object` | 追蹤選項物件（可選）：tracer 為 callTracer、flatCallTracer、prestateTracer、4byteTracer 或 noopTracer，省略則使用預設 struct logger，其他值回傳 -32602 tracer not allowed；tracerConfig 傳入該 tracer 的設定（如 callTracer 的 onlyTopCall、withLog，prestateTracer 的 diffMode）；timeout 最長 30s；reexec 指定重放交易時覆蓋的區塊號。 |

## 傳回值

- **類型**: `OBJECT`
- **說明**: 執行追蹤結果物件，格式取決於所選 tracer（使用 callTracer 時為 CallFrame 呼叫樹，預設時為 struct logs）。

## 注意事項

目標交易所在區塊須在鏈的狀態保留視窗（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_traceTransaction",
    "params": [
      "<transactionHash>",
      {
        "tracer": "callTracer"
      }
    ],
    "id": 1
  }'
```

## 可用鏈

除以下鏈外，其餘支援鏈均可用：Base (base_mainnet)、BNB Smart Chain (bsc_mainnet)、Ethereum Sepolia (eth_sepolia)、HyperEVM (hyperevm_mainnet)。
