[Ethereum] Do you have to download all ‘Imported new state entries’ before syncing with the highest block

blockchainfast-syncgo-ethereumsynchronization

I'm new to Geth…

I'm performing a fast sync using the following command:

geth --syncmode "fast" --cache 4096

I had been downloading block data until about 1000 blocks from the highestBlock. Then the ability to download blocks slowed significantly/stopped and am now receiving the following:

INFO [05-01|21:31:20] Imported new state entries               count=1467 elapsed=7.016ms   processed=131239 pending=23492 retry=2   duplicate=0 unexpected=63

I notice that the currentBlock: and highestBlock: do not update after some time, but the knownStates and pulledStates do.

> eth.syncing
{
  currentBlock: 5540855,
  highestBlock: 5540944,
  knownStates: 1,
  pulledStates: 0,
  startingBlock: 5540855
}
> eth.syncing
{
  currentBlock: 5540855,
  highestBlock: 5540944,
  knownStates: 14130,
  pulledStates: 6264,
  startingBlock: 5540855
}

Is this normal behavior for fast syncing? Do more blocks get downloaded and the highestBlock get updated again or do I have to stop and restart the geth console?

Best Answer

After research and testing, it turns out that a user does not have to download "Imported State Entries" before syncing with the Ethereum network. The user now has a choice to establish an Ethereum Node or an Ethereum Light Node.

Instead of using the geth --syncmode "fast" command, which establishes an Ethereum Node...,

use geth --syncmode "light" command, which establishes an Ethereum Light Node.

In order to perform this, I downloaded the latest version of Ethereum Wallet (0.10.0) which uses Geth 1.8.2. When starting the Ethereum Wallet application, the download of all the block headers, which is only required by Ethereum Light Nodes (no state entries), the sync took 15 minutes. I was using a HDD for the test. I was able to then open up MIST (0.10.0) and deploy a smart contract successfully.

I recommend anyone not using a Solid State Drive (SSD) to use the Ethereum Light Node method. It's amazing how fast the sync is.

Related Topic