One of the most common problems with the Ethereum Wallet application is keeping the blockchain in sync with the Ethereum network. This page describes some of the common issues users may encounter while trying to sync the blockchain and potential methods to work around the problems.
Note that Ethereum Wallet will not display your account balance correctly when it is not synced fully or correctly.
- 1 Unable To Sync
- 2 Slow Syncing Between Blocks 2,283,397 And 2,717,576
- 3 How to recover from slow syncing?
- 4 How can I tell if my node client is fast syncing or not?
- 5 Alternatives
- 6 See Also
Unable To Sync
Check that your the clock on your computer is close to real time. Change your system settings so that your system clock is synced to an NTP (Network Time Protocol) server.
Slow Syncing Between Blocks 2,283,397 And 2,717,576
You may be encountering some problems syncing Ethereum Wallet (or Mist) to the Mainnet blockchain. A common problem when syncing Ethereum Wallet’s blockchain data is that the syncing slows down between blocks 2,283,397 and 2,620,384 due to the attack on the Ethereum network (reference Why is my node synchronization stuck/extremely slow at block 2,306,843?).
The syncing also slows down between blocks 2,675,055 and 2,717,576 due to the state clearing process to remove the 20 million empty accounts created by the network attack.
How to recover from slow syncing?
If you have a problem with slow syncing, the easiest way to recover from this slowdown is to remove your blockchain data and restart Ethereum Wallet. Ethereum Wallet will then perform a fast sync which skips over these attack blocks.
WARNING: Make sure you back up your keystore directory so you don’t accidentally delete your account information.
Shut down Ethereum Wallet.
Depending on your operating system, you will find the
chaindata subdirectory in:
- Linux –
- OS/X –
- Windows –
Alternatively, you can run
geth removedb to remove the blockchain data.
Start Ethereum Wallet. It should now start fast syncing the blockchain data. Alternatively, run
geth --syncmode "fast" --cache 1024 console and then start Ethereum Wallet.
Refer to Network Ports, Files And Directories for more information on the location of Ethereum software files and directories on your computer.
Another method to reduce sync-time is to run your copy of the blockchain from a Solid State Drive (SSD) as rotational drives are much more affected by the I/O generated by the clearing process, if you are running a full sync.
How can I tell if my node client is fast syncing or not?
Compare your logging messages with the following logging messages to determine whethere your node client is fast syncing or normal syncing.
Fast Sync In Progress
The following messages are displayed on the `geth –syncmode “fast” console` (pre 1.6.0) screen – note the header(s) and receipt(s):
I0416 13:35:53.497422 30629 blockchain.go:889] imported 192 header(s) (0 ignored) in 71.941018ms. #6336 [2edbbc3f… / b80c9ac3…] I0416 13:35:54.263134 30629 blockchain.go:1044] imported 192 receipt(s) (0 ignored) in 55.447062ms. #6336 [2edbbc3f… / b80c9ac3…] I0416 13:35:54.683682 30629 blockchain.go:889] imported 192 header(s) (0 ignored) in 73.050377ms. #6528 [8ab9a7af… / f2ffecac…]
And following is the equivalent
geth 1.6.0 (Testnet) message during a fast sync:
INFO [03-29|00:44:05] Imported new block headers count=576 elapsed=83.935ms number=165038 hash=0d79ae…139c84 ignored=0 INFO [03-29|00:44:05] Imported new state entries count=128 elapsed=25.678ms processed=150388 pending=45633 INFO [03-29|00:44:05] Imported new block receipts count=156 elapsed=32.949ms number=146168 hash=40f288…4f46ca ignored=0 INFO [03-29|00:44:06] Imported new block headers count=192 elapsed=28.569ms number=165230 hash=9a4733…688bd0 ignored=0
Fast Sync Just Completed, Transitioning To Normal Sync
Here is the transition when the `–syncmode “fast”` syncing (pre 1.6.0) has completed and normal syncing starts:
I0416 17:16:12.631667 30629 blockchain.go:1251] imported 195 block(s) (0 queued 0 ignored) including 0 txs in 1.235990428s. #384 [d707e667 / d3d5d5c1] I0416 17:16:12.631825 30629 sync.go:180] fast sync complete, auto disabling I0416 17:16:48.831757 30629 blockchain.go:1251] imported 4 block(s) (0 queued 0 ignored) including 0 txs in 12.933585ms. #388 [bbb506ab / 0ace7268]
And following is the equivalent
geth 1.6.0 message during the transition:
INFO [04-05|19:22:07] Imported new state entries count=17 elapsed=675.795µs processed=672794 pending=598 INFO [04-05|19:22:08] Imported new state entries count=267 elapsed=7.681ms processed=673061 pending=123 INFO [04-05|19:22:08] Imported new state entries count=26 elapsed=1.053ms processed=673087 pending=13 INFO [04-05|19:22:08] Imported new state entries count=1 elapsed=361.354µs processed=673088 pending=0 INFO [04-05|19:22:08] Imported new block receipts count=1 elapsed=3.234ms number=3480221 hash=e61ce2…40f00d ignored=0 INFO [04-05|19:22:08] Committed new head block number=3480221 hash=e61ce2…40f00d INFO [04-05|19:22:16] Imported new chain segment blocks=208 txs=2654 mgas=75.759 elapsed=8.082s mgasps=9.373 number=3480429 hash=4da365…1f252e INFO [04-05|19:22:19] Imported new chain segment blocks=71 txs=883 mgas=26.608 elapsed=2.818s mgasps=9.440 number=3480500 hash=be85e6…b3926f INFO [04-05|19:22:19] Fast sync complete, auto disabling INFO [04-05|19:22:28] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=7.716ms mgasps=0.000 number=3480501 hash=f080ca…ac0b54 INFO [04-05|19:22:32] Imported new chain segment blocks=54 txs=844 mgas=32.843 elapsed=2.700s mgasps=12.160 number=3480555 hash=d6cd57…4d77c1 INFO [04-05|19:22:34] Imported new chain segment blocks=1 txs=9 mgas=0.270 elapsed=32.803ms mgasps=8.244 number=3480556 hash=a45d32…a1f89d INFO [04-05|19:23:04] Imported new chain segment blocks=1 txs=2 mgas=0.055 elapsed=39.279ms mgasps=1.389 number=3480557 hash=a01317…b2701c INFO [04-05|19:23:06] Imported new chain segment blocks=1 txs=51 mgas=2.904 elapsed=1.515s mgasps=1.916 number=3480558 hash=ec84c9…fb5703
Normal Sync In Progress
And the following messages are displayed on the `geth console` (pre 1.6.0) screen – note the block(s):
I0416 13:32:23.331906 30581 blockchain.go:1251] imported 256 block(s) (0 queued 0 ignored) including 0 txs in 979.938402ms. #6366 [66dcf4c1 / c5d009a1] I0416 13:32:24.169955 30581 blockchain.go:1251] imported 256 block(s) (0 queued 0 ignored) including 0 txs in 836.388044ms. #6622 [e11a3fa9 / d211c2e1] I0416 13:32:24.974790 30581 blockchain.go:1251] imported 256 block(s) (0 queued 0 ignored) including 0 txs in 803.457715ms. #6878 [c9f9ae12 / 238493b8]
And following is the equivalent
geth 1.6.0 message from a full sync transitioning to incremental single block updates. The blocks will sync in batches, and when your blockchain data is up to date, single blocks are received approximately every 14 seconds:
INFO [04-01|10:36:24] Imported new chain segment blocks=2 txs=4 mgas=0.229 elapsed=111.408ms mgasps=2.053 number=3454425 hash=2f3ad3…768034 INFO [04-01|10:36:24] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=9.165ms mgasps=0.000 number=3454426 hash=e54658…80d4c4 INFO [04-01|10:36:27] Imported new chain segment blocks=12 txs=170 mgas=4.707 elapsed=2.535s mgasps=1.857 number=3454438 hash=6aaa7e…c12f5d INFO [04-01|10:36:30] Imported new chain segment blocks=9 txs=198 mgas=6.030 elapsed=2.882s mgasps=2.092 number=3454447 hash=4de30c…7d6c05 INFO [04-01|10:36:48] Imported new chain segment blocks=1 txs=4 mgas=0.084 elapsed=51.447ms mgasps=1.633 number=3454448 hash=ef97fd…6a11b5 INFO [04-01|10:37:20] Imported new chain segment blocks=1 txs=4 mgas=0.084 elapsed=10.502ms mgasps=7.998 number=3454449 hash=c1307d…e73a90 INFO [04-01|10:37:21] Imported new chain segment blocks=1 txs=35 mgas=0.920 elapsed=542.136ms mgasps=1.697 number=3454449 hash=fd6829…afa455 INFO [04-01|10:37:23] Imported new chain segment blocks=1 txs=1 mgas=0.021 elapsed=7.924ms mgasps=2.650 number=3454450 hash=c8f298…0945a0 INFO [04-01|10:37:34] Imported new chain segment blocks=1 txs=1 mgas=0.021 elapsed=19.412ms mgasps=1.082 number=3454451 hash=e3d371…769036
Use Parity Node Client And User Interface
You can use Parity and start the Parity syncing using the following command line parameter for a reasonably quick sync:
You can access the Parity user interface by navigating in your browser to http://localhost:8080 .
Use Parity Node Client With Ethereum Wallet
You can use Parity as a back end to Ethereum Wallet. Start Parity with the following command line
parity --warp --geth
You can then start Ethereum Wallet and it will connect to your Parity instance.