# debug_traceTransaction: 매개변수, 반환값 및 CU

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

## 개요

트랜잭션 실행을 재구성하고 재생하여 실행 트레이스(Trace)를 생성합니다. ([공식 문서](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracetransaction))

## 연산 단위(CU) 및 요금

- 호출당 CU: 100 CU
- 1M 호출당 가격(USD): $10.00

## 파라미터

| 파라미터 | 타입 | 설명 |
| --- | --- | --- |
| `transactionHash` | `HASH` | 추적할 32바이트 트랜잭션 해시(0x 접두사 16진수). |
| `options` | `object` | 트레이스 옵션 객체(선택 사항): tracer는 callTracer, flatCallTracer, prestateTracer, 4byteTracer 또는 noopTracer이며, 생략 시 기본 struct 로거를 사용하고 다른 값은 -32602 tracer not allowed를 반환합니다. tracerConfig는 트레이서별 옵션을 전달합니다(예: callTracer의 onlyTopCall 및 withLog, prestateTracer의 diffMode). timeout은 최대 30초입니다. reexec는 트랜잭션을 재실행할 블록 번호를 설정합니다. |

## 반환값

- **타입**: `OBJECT`
- **설명**: 요청된 트레이서와 일치하는 실행 트레이스 결과 객체(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).
