Open eenagy opened 4 months ago
I believe this can happen when the CL client is also syncing
@mattsse I'm not concerned about internal behavior; I'm looking from an outside perspective as a node operator. I see that geth/nethermind/erigon does not return false for either consensus client, while besu/reth does in some cases. I'm running against the same minimal settings; I would expect the same behavior. So for geth/nethermind/erigon, the sync endpoint always returns sync status. Whichever way this is implemented, I'm okay with it being consistent between clients.
This issue is stale because it has been open for 21 days with no activity.
Hi there. I'm currently implementing sync status in NiceNode, and seeing this difference in eth_syncing response behavior compared to other clients, where they usually return an object in the beginning stages of syncing.
Geth
{
"currentBlock": "0x0",
"healedBytecodeBytes": "0x0",
"healedBytecodes": "0x0",
"healedTrienodeBytes": "0x0",
"healedTrienodes": "0x0",
"healingBytecode": "0x0",
"healingTrienodes": "0x0",
"highestBlock": "0x0",
"startingBlock": "0x0",
"syncedAccountBytes": "0x0",
"syncedAccounts": "0x0",
"syncedBytecodeBytes": "0x0",
"syncedBytecodes": "0x0",
"syncedStorage": "0x0",
"syncedStorageBytes": "0x0",
"txIndexFinishedBlocks": "0x0",
"txIndexRemainingBlocks": "0x1"
}
Nethermind:
{
"startingBlock": "0x0",
"currentBlock": "0x0",
"highestBlock": "0x0"
}
Are there any plans to make this consistent within reth? Thank you!
in the beginning stages of syncing.
can you unpack what you mean by this?
I guess since other clients return this on start we should also start out as syncing, even though the node isn't syncing (yet)...
in the beginning stages of syncing. can you unpack what you mean by this?
From what I've seen with other clients, right after the node is started by the user, and eth_syncing
RPC is called, they usually return an object with currentBlock, highestBlock, and startingBlock, and continue to do so, until the node is considered fully synced, where eth_syncing
returns false
instead of an object.
Describe the bug
The endpoint returns
false
when sync is not started. It also randomly returns any value when a different consensus client is used on a stalled network.Steps to reproduce
The easiest way to reproduce is.
{"jsonrpc":"2.0","result":false,"id":0}