0

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?

4
  • Yes, it is totally normal behavior.
    – Ismael
    May 2, 2018 at 2:22
  • I still have yet to sync with the Ethereum blockchain. Unsure why at this point but to future readers... closing geth and restarting seems to allow me to download a few more blocks. When around 100 blocks away, for some reason I am not able to download anymore blocks, so always behind the most current block. Will post results should I find a successful solution.
    – 29A
    May 5, 2018 at 1:44
  • Geth will first sync block then "states" until last synced block, then it will repeat, if you have a good disk the second time will finish the sync. unfortunately geth doesn't support HDD currently, and the sync will not finish.
    – Ismael
    May 5, 2018 at 2:34
  • Thank you Ismael was using an HDD. Found a new angle to attack this problem.
    – 29A
    May 10, 2018 at 5:50

1 Answer 1

0

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.

1
  • note: this is depending on what you want to do. For some tasks, like the 'global' mempool, you will need a full node and thus light client won't work
    – Daithí
    Jun 11, 2019 at 0:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.