Files
linea-besu/docs/trace_rpc_apis.md
Dmitry 1895d44415 Typo Update trace_rpc_apis.md (#7868)
"ope.ex.mem" should be "op.ex.mem" — The abbreviation for "opcode execution" should be "op" rather than "ope."

Corrected.

Signed-off-by: Dmitry <98899785+mdqst@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
2024-11-08 15:03:43 +00:00

40 lines
1.3 KiB
Markdown

# Trace RPC API Notes
This document outlines major differences for `trace_replayBlockTransactions`
compared to other implementations.
## `stateDiff`
No major differences were observed in the `stateDiff` field.
## `trace`
Besu reports `gasUsed` after applying the effects of gas refunds. Future
implementations of Besu might track gas refunds separately.
## `vmTrace`
### Returned Memory from Calls
In the `vmTrace` `op.ex.mem` fields Besu only reports actual data returned
from a `RETURN` opcode. Other implementations return the contents of the
reserved output space for the call operations. Note two major differences:
1. Besu reports `null` when a call operation ends because of a `STOP`, `HALT`,
`REVERT`, running out of instructions, or any exceptional halts.
2. When a `RETURN` operation returns data of a different length than the space
reserved by the call only the data passed to the `RETURN` operation is
reported. Other implementations will include pre-existing memory data or
trim the returned data.
### Precompiled Contracts Calls
Besu reports only the actual cost of the precompiled contract call in the
`cost` field.
### Out of Gas
Besu reports the operation that causes out of gas exceptions, including
calculated gas cost. The operation is not executed so no `ex` values are
reported.