[Ethereum] geth never completes syncing for rinkeby

go-ethereumrinkebysynchronization

My aim is to synchronise a full node for the Rinkeby network.
It seems that geth does not finish synchronisation. I have had it run for over three days, but it is stuck at the last few blocks.

> eth.syncing
{
  currentBlock: 4507244,
  highestBlock: 4507319,
  knownStates: 64751595,
  pulledStates: 64748954,
  startingBlock: 4507164
}
> eth.blockNumber
0 
> admin.peers.length
1
> net.peerCount
1

When I rerun eth.syncing, then the highestBlock increases, but currentBlock doesn't.

I have tried installing different versions for geth (1.8.X, 1.9.0)
I also enabled network time synchronisation via
timedatectl set-ntp true
as suggested in this post: Geth is stuck syncing

I run geth via geth --rinkeby --cache 2048.

My machine has 12GB RAM and 8 CPUs.

Any help would greatly be appreciated. Thank you.

Best Answer

Last days I synched my Rinkeby node, the problem is that you are still syncing because you haven't downloaded all the state entries (pulledStates and knownStates). From now (my node):

> eth.syncing
{
  currentBlock: 4507935,
  highestBlock: 4508064,
  knownStates: 90697511,
  pulledStates: 90697511,
  startingBlock: 4507600
}

This phase takes a lot longer than the downloading of the blocks.

With the command geth --rinkeby --cache 2048 you are syncing in default mode (fast). This mode downloads the blocks and the state entries concurrently.

Related Topic