Ethereum
هل أنت مستعد لاستدعاء هذا في الإنتاج؟
الخطة المجانية تغطي المشاريع الشخصية. الدفع حسب الاستخدام يتوسع دون بطاقة.
Ethereum
الخطة المجانية تغطي المشاريع الشخصية. الدفع حسب الاستخدام يتوسع دون بطاقة.
debug_traceCall runs a message call against a chosen Ethereum mainnet block state (chain ID 1, native coin ETH) and returns a full opcode-level trace — all without broadcasting anything or paying gas. Think of it as eth_call with the EVM's instrumentation switched on: same call object, same from/to/value/data fields, but you see every step the virtual machine takes. Nothing is mined, no ETH moves, and the call never touches the mempool. You can also pin it to any historical block and layer in state or block overrides to explore what-if scenarios. Send requests to https://ethereum.therpc.io/YOUR_API_KEY. Simulating against past block states needs a debug-enabled archive node.
maxFeePerGas against the current EIP-1559 base fee accordingly.stateOverrides, validating a fix before deploying it for real.| # | الاسم | النوع | مطلوب | الوصف |
|---|---|---|---|---|
| 1 | transaction | object | نعم | Call object — same fields as eth_call: `from?`, `to`, `gas?`, `gasPrice?`, `maxFeePerGas?`, `maxPriorityFeePerGas?`, `value?`, `data?`. |
| 2 | blockParameter | string | لا | Block number or tag defining the state against which the call is simulated.الافتراضي: latest |
| 3 | options | object | لا | Same tracer configuration object as debug_traceTransaction (tracer, tracerConfig, timeout, reexec, enableMemory, enableReturnData, disableStack, disableStorage, limit, debug). |
| 4 | stateOverrides | object | لا | Optional map of address → { balance, nonce, code, state, stateDiff } overrides applied only for this call. |
| 5 | blockOverrides | object | لا | Optional map of block-context fields to override (e.g. `number`, `time`, `gasLimit`, `coinbase`, `random`, `baseFee`) for the simulated call. |
| النوع | الوصف |
|---|---|
| object | Same shape as debug_traceTransaction: structLog array with default tracer, or tracer-specific object (callTracer, prestateTracer, etc.). |
Try it live in the Ethereum playground.
| الكود | الرسالة | السبب |
|---|---|---|
-32601 | Method not found | debug namespace not enabled on the node. |
-32602 | Invalid params | Transaction object is missing required fields or blockParameter is unrecognized. |
-32000 | execution reverted | Simulated call reverted; trace is still returned up to the revert point. |
block.timestamp, block.coinbase, the base fee — a simulation at latest can diverge from how the call lands once it's actually mined a few slots later.callTracer or set disableStack/disableStorage/disableMemory to keep the response manageable.المعاملات
Call object — same fields as eth_call: `from?`, `to`, `gas?`, `gasPrice?`, `maxFeePerGas?`, `maxPriorityFeePerGas?`, `value?`, `data?`.
hex block number or "latest" | "earliest" | "pending"
Same tracer configuration object as debug_traceTransaction (tracer, tracerConfig, timeout, reexec, enableMemory, enableReturnData, disableStack, disableStorage, limit, debug).
Optional map of address → { balance, nonce, code, state, stateDiff } overrides applied only for this call.
Optional map of block-context fields to override (e.g. `number`, `time`, `gasLimit`, `coinbase`, `random`, `baseFee`) for the simulated call.