3
> eth.syncing
{
  currentBlock: 908716,
  highestBlock: 928604,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 908891
}

It looks like synchronization started from block 908891, though the current block is 908716. How blocks 908717..908890 get synced then?

startingBlock: QUANTITY - The block at which the import started (will only be reset, after the sync reached his head)

currentBlock: QUANTITY - The current block, same as eth_blockNumber

1 Answers1

2

Look at the Geth Source code,

# StartingBlock is the block number at which synchronisation started.
    startingBlock: Long!
# CurrentBlock is the point at which synchronisation has presently reached.
    currentBlock: Long!

So the startingBlock is the point at which you originally started syncing i.e. when you first loaded your client , while the current block the progress you have made. When you started syncing your client, highestBlock == startingBlock.

In other words when you start the sync

currentBlock <= startingBlock<= highestBlock

However as the sync progresses, you would expect as the current block (the one on which you chain has synced ) passes the starting point .

startingBlock <= currentBlock <= highestBlock

Eventually,

currentBlock === highestBlock

and the eth.syncing will return nill

Reference:

0xsegfault
  • 1,260
  • 9
  • 24