# debug_traceTransaction: tham số, giá trị trả về và CU

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

## Tổng quan

Tái cấu trúc và thực thi lại giao dịch để tạo trace thực thi. ([Tài liệu chính thức](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracetransaction))

## Compute Units (CU) và bảng giá

- CU mỗi lệnh gọi: 100 CU
- Giá cho mỗi 1M lệnh gọi (USD): $10.00

## Tham số

| Tham số | Kiểu | Mô tả |
| --- | --- | --- |
| `transactionHash` | `HASH` | Mã băm giao dịch 32 byte cần theo dõi dưới dạng thập lục phân có tiền tố 0x. |
| `options` | `object` | Đối tượng tùy chọn theo dõi (tùy chọn): tracer có thể là callTracer, flatCallTracer, prestateTracer, 4byteTracer hoặc noopTracer; khi bỏ qua, mặc định sử dụng bộ ghi struct tiêu chuẩn, và bất kỳ giá trị nào khác trả về -32602 tracer not allowed; tracerConfig xác định các tùy chọn riêng của tracer (như onlyTopCall và withLog cho callTracer, diffMode cho prestateTracer); timeout tối đa 30s; reexec chỉ định số hiệu khối để thực thi lại giao dịch. |

## Giá trị trả về

- **Kiểu**: `OBJECT`
- **Mô tả**: Đối tượng kết quả trace thực thi tương ứng với tracer được yêu cầu (cây CallFrame cho callTracer hoặc log struct theo mặc định).

## Ghi chú

Khối chứa giao dịch mục tiêu phải nằm trong cửa sổ trạng thái của chuỗi (state_window_blocks); yêu cầu ngoài phạm vi trả về -32011 (không tính phí).

## Ví dụ yêu cầu

```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
  }'
```

## Chuỗi được hỗ trợ

Khả dụng trên tất cả các chuỗi được hỗ trợ ngoại trừ: Base (base_mainnet), BNB Smart Chain (bsc_mainnet), Ethereum Sepolia (eth_sepolia), HyperEVM (hyperevm_mainnet).
