Polygon
Polygon
Polygon
免费套餐涵盖个人项目。按量付费,无需绑卡即可扩展。
trace_replayTransaction re-executes one historical Polygon PoS transaction and returns whichever trace types you request for it. Its standout output is the stateDiff, which marks each touched account with = (unchanged), + (created), - (deleted), or *{from,to} (modified) — a precise record of how a MATIC-fee transaction reshaped chain state. Send the request to https://polygon.therpc.io/YOUR_API_KEY (chain ID 137, 0x89), passing the transaction hash and your traceTypes. It replays the transaction and returns a selectable combination of call-tree trace, opcode-level VM trace, and state diff.
stateDiff to see which storage slot changed (or failed to) right before the failure.| # | 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
| 1 | transactionHash | string | 是 | Hash of the transaction to replay. |
| 2 | traceTypes | array | 是 | One or more of `"trace"`, `"vmTrace"`, `"stateDiff"`. At least one value is required. |
| 类型 | 描述 |
|---|---|
| object | `{output, trace?, stateDiff?, vmTrace?}` — `trace` is the call tree, `stateDiff` maps each affected address to balance/nonce/code/storage diffs using `=` (unchanged), `+` (created), `-` (deleted), `*{from,to}` (modified), `vmTrace` is the Parity-format opcode trace. |
Try it live in the Polygon playground.
| 错误码 | 错误信息 | 原因 |
|---|---|---|
-32601 | Method not found | trace namespace not enabled or not supported by this client (primarily OpenEthereum/Nethermind/Erigon). |
-32602 | Invalid params | Transaction hash is missing/malformed or traceTypes is empty or contains unknown values. |
-32000 | transaction not found | Transaction does not exist or archive trace data is unavailable for that block. |
vmTrace on a complex Polygon DeFi transaction produces enormous output — stick to trace or stateDiff when you do not need opcode detail.vmTrace format is Parity-specific — do not confuse it with Bor's Geth-style debug_traceTransaction struct-log; the two parse differently.参数
0x-prefixed 32-byte hash
["trace"] | ["trace","vmTrace","stateDiff"]