Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debug_traceBlockByX response is missing txHash for trace entries #8195

Closed
jamesstanleystewart opened this issue Jan 30, 2025 · 0 comments · Fixed by #8205
Closed

debug_traceBlockByX response is missing txHash for trace entries #8195

jamesstanleystewart opened this issue Jan 30, 2025 · 0 comments · Fixed by #8205
Assignees
Labels
bug Something isn't working P2 High (ex: Degrading performance issues, unexpected behavior of core features (DevP2P, syncing, etc))

Comments

@jamesstanleystewart
Copy link

Hey Besu team. We attempted to use Besu for some debug_traceBlockByX calls today and noticed a difference from the geth implementation which I feel like could be a bug.
When tracing a transaction, both geth and besu return an object (which the besu docs call Trace object) like:

result: {
   gas: 85301,
   returnValue: "",
   structLogs: [{ ... }]
{

However, when tracing a block with debug_traceBlockByX geth returns an array of these transaction trace results, with a transactionHash for each as a reference like:

[
  {
    txHash: "0xabba...",
    result: {
      gas: 85301,
      returnValue: "",
      structLogs: [{ ... }]
    }
  },
  { txHash: "0xblah...", result: { ... } }
]

and Besu omits the txHash and result, just returning an array of Trace Object directly:

[
  {
      gas: 85301,
      returnValue: "",
      structLogs: [{ ... }]
  },
  { ... }
]

Wondering if there's a debug_* spec defined, or if its just up to the devs to decide the format they want to use. Having the txHash reference to associate the traces with each transaction in a block seems correct/useful to me.

Steps to Reproduce

  1. [Step 1]
    curl localhost:8080 -X POST -H "Content-Type: application/json" -d '{"id": 1, "jsonrpc": "2.0", "method": "debug_traceBlockByNumber", "params": ["latest"]}' against Besu and Geth

Expected behavior: [What you expect to happen]
Geth and Besu return the same format for block tracing
Actual behavior: [What actually happens]
Besu has a differing format as described above

Frequency: [What percentage of the time does it occur?]
all the time :)

Versions (Add all that apply)

  • Software version: the latest linea-besu-package in kubernetes on a i3en.xlarge
@jamesstanleystewart jamesstanleystewart added the bug Something isn't working label Jan 30, 2025
@macfarla macfarla added the P2 High (ex: Degrading performance issues, unexpected behavior of core features (DevP2P, syncing, etc)) label Jan 30, 2025
@macfarla macfarla assigned macfarla and unassigned macfarla Jan 30, 2025
@matkt matkt self-assigned this Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P2 High (ex: Degrading performance issues, unexpected behavior of core features (DevP2P, syncing, etc))
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants