Optimism
هل أنت مستعد لاستدعاء هذا في الإنتاج؟
الخطة المجانية تغطي المشاريع الشخصية. الدفع حسب الاستخدام يتوسع دون بطاقة.
Optimism
الخطة المجانية تغطي المشاريع الشخصية. الدفع حسب الاستخدام يتوسع دون بطاقة.
trace_call simulates a call against a chosen OP Mainnet block state and returns an OpenEthereum-style call-tree trace, plus an optional opcode-level VM trace and an optional state diff — all without creating a transaction or spending any ETH. You pick which outputs you want via the traceTypes array (trace, vmTrace, stateDiff), so it doubles as a preview tool and a storage-impact analyzer. OP Mainnet is the OP Stack rollup with ETH gas, chain ID 10 (0xa); send the request to https://optimism.therpc.io/YOUR_API_KEY to see a call's full effect before committing.
stateDiff to validate the exact balance and storage changes a transaction would make against what you expect.| # | الاسم | النوع | مطلوب | الوصف |
|---|---|---|---|---|
| 1 | transaction | object | نعم | Call object: `from?`, `to`, `gas?`, `gasPrice?`, `value?`, `data?`. |
| 2 | traceTypes | array | نعم | Array of trace types to include: `"trace"` (call tree), `"vmTrace"` (opcode-level), `"stateDiff"` (storage/balance diffs). |
| 3 | blockParameter | string | لا | Block state against which to simulate the call.الافتراضي: latest |
| النوع | الوصف |
|---|---|
| object | `{output, trace?, stateDiff?, vmTrace?}` — `trace` is a flat call-tree array, `stateDiff` maps each touched address to its balance/nonce/code/storage diffs, `vmTrace` provides opcode-level detail (Parity-format). |
Try it live in the Optimism playground.
| الكود | الرسالة | السبب |
|---|---|---|
-32601 | Method not found | trace namespace not enabled or client does not support trace_call. |
-32602 | Invalid params | Transaction object missing required fields, traceTypes array is empty or contains unrecognized values, or blockParameter is invalid. |
-32000 | execution reverted | Simulated call reverted; partial trace is still returned. |
trace + vmTrace + stateDiff) can produce very large responses; ask only for the outputs you actually need.vmTrace format is Parity-specific and differs from the Geth debug_traceCall struct-log format — do not parse one as the other.المعاملات
Call object: `from?`, `to`, `gas?`, `gasPrice?`, `value?`, `data?`.
["trace"] | ["trace","vmTrace","stateDiff"] — at least one required
hex block number or "latest" | "earliest" | "pending"