# debug_traceTransaction: พารามิเตอร์ ค่าส่งคืน และ CU

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

## สรุป

สร้างใหม่และเล่นซ้ำการประมวลผลของธุรกรรมเพื่อสร้าง trace การประมวลผล ([เอกสารทางการ](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracetransaction))

## Compute Units (CU) และราคา

- CU ต่อการเรียก: 100 CU
- ราคาต่อ 1M การเรียก (USD): $10.00

## พารามิเตอร์

| พารามิเตอร์ | ชนิดข้อมูล | คำอธิบาย |
| --- | --- | --- |
| `transactionHash` | `HASH` | แฮชของธุรกรรมขนาด 32 ไบต์ที่ต้องการ trace ในรูปแบบเลขฐานสิบหกที่มีคำนำหน้า 0x |
| `options` | `object` | ออบเจกต์ตัวเลือกการ trace (ไม่บังคับ): tracer สามารถเป็น callTracer, flatCallTracer, prestateTracer, 4byteTracer หรือ noopTracer หากละเว้นจะใช้ struct logger เริ่มต้น และค่าอื่นๆ จะส่งคืน -32602 tracer not allowed; tracerConfig ใช้ส่งตัวเลือกเฉพาะของ tracer (เช่น onlyTopCall และ withLog สำหรับ callTracer, diffMode สำหรับ prestateTracer); timeout สูงสุด 30s; reexec กำหนดหมายเลขบล็อกที่จะรันธุรกรรมซ้ำ |

## ค่าส่งคืน

- **ชนิดข้อมูล**: `OBJECT`
- **คำอธิบาย**: ออบเจกต์ผลลัพธ์การ trace การประมวลผลที่ตรงกับ tracer ที่ร้องขอ (โครงสร้างต้นไม้ CallFrame สำหรับ callTracer หรือ 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)
