# debug_traceTransaction：参数、返回值与 CU

> 原文地址: https://docs.blockvectra.com/zh/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)。
