-
Notifications
You must be signed in to change notification settings - Fork 978
Open
Labels
P4Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)RPCbugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers
Description
Overview
Hello developers.
I'm running a separate Pectra PoS testnet chain for API testing. During testing, I observed discrepancies in the JSON-RPC responses from execution clients—geth, besu, nethermind, reth and erigon. Specifically, when calling eth_getBlockReceipts with invalid request, Besu returns an Block not found error with code -32000, while the other four clients respond with null as defined in the exec-api spec.
# besu
{"error": {"code": -32000, "message": "Block not found"}, "id": 1, "jsonrpc": "2.0"}
# geth
{"id": 1, "jsonrpc": "2.0", "result": null}
# nethermind
{"id": 1, "jsonrpc": "2.0", "result": null}
# reth
{"id": 1, "jsonrpc": "2.0", "result": null}
# erigon
{"id": 1, "jsonrpc": "2.0", "result": null}
Spec definiton of the response:
"oneOf": [
{
"title": "Not Found (null)",
"type": "null"
},
{
"title": "Receipts information",
"type": "array",
...
Thanks for your attention!
Steps to Reproduce
Call the eth_getBlockReceipts with invalid block number:
curl POST http://127.0.0.1:10652 \
-H "Content-Type: application/json" \
-d '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": [
"0x1014083b159295235b6b84814f860e91d2a5105bf11c60f97ae8fb2b00cb7ff9"
]
}'Expected behavior: Return null for not found.
Actual behavior: Return error.
Frequency: 100%
Logs
# besu
{"error": {"code": -32000, "message": "Block not found"}, "id": 1, "jsonrpc": "2.0"}
# geth
{"id": 1, "jsonrpc": "2.0", "result": null}
# nethermind
{"id": 1, "jsonrpc": "2.0", "result": null}
# reth
{"id": 1, "jsonrpc": "2.0", "result": null}
# erigon
{"id": 1, "jsonrpc": "2.0", "result": null}
Versions (Add all that apply)
- OS Name & Version: Ubuntu-20.04
Client versions
- besu/v25.8.0/linux-x86_64/openjdk-java-21
- Geth/v1.16.3-stable-d818a9af/linux-amd64/go1.24.6
- Nethermind/v1.33.1+cda59e5b/linux-x64/dotnet9.0.8
- reth/v1.7.0-9d56da5/x86_64-unknown-linux-gnu
- erigon/3.1.0/linux-amd64/go1.24.7
with
- Prysm/v6.0.4 (linux amd64)
Metadata
Metadata
Assignees
Labels
P4Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)RPCbugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers