[TIPS] Ethereum Wallet slow sync problem (Geth/Parity)
Here are some quick notes on ethereum wallet synchronization, based on a lot of tries and errors to make Geth finally work. Add your own experiences to complete this article for everyone looking to sync asap and transfer ETH using Ethereum Wallet or Mist.
- use xubuntu (https://xubuntu.org/)
- you need at least 4 gb of ram, 8 is more preferable
- ssd is alot better than hdd
- install ntp and choose the right timezone
$ sudo apt-get install ntp
- get the latest .deb version of ethereum wallet (https://github.com/ethereum/mist/releases)
- install the package and run ethereum wallet, let it sync for a while, it's fast at the beginning, but it gets slow after a while
- quit ethereum wallet after a few seconds (ctrl + Q)
- open terminal and move to:
$ cd ~/.config/Ethereum\ Wallet/binaries/Geth/unpacked/
- remove the old db from the full node sync:
$ ./geth removedb
- press y to confirm
- start the fast sync:
$ ./geth --fast --cache=1524
- be careful with the cache value, change it depending on your ram, 1524 is good for 4gb of ram, if you set a large value, your os will start swapping and your disk activity will go super high, geth will become super slow , dropping nodes and stuffs...
- open top in another terminal and watch the swap, if it's more than 500mb and sync is slow, stop geth sync by ctrl+C and restart your machine and start syncing again using "$ ./geth --fast --cache=1524", don't worry it will continue from the last synced block
- when geth is syncing, you can open ethereum wallet and watch the progress bar...
- when geth is fully synced u can import your wallet and send eth, after a full sync, you need to stay synced, it will get slow after a full sync and if you are slower than the current block time, you'll get behind, restart your machine after a day or two
I believe a pure C/C++ Eth Node is better than the Go Lang !
You can use parity node as an alternative to Geth, but recently a lot of parity multi signature wallets were hacked because of a simple programing error, be careful ! :D but it's faster than geth for sure... https://parity.io/
You can also use parity instead of Geth with Ethereum wallet or Mist
- download the latest .deb package and install it (https://github.com/paritytech/parity/releases)
- let it sync using this command:
- if you have ssd:
$ parity --warp --geth --mode active --tracing off --pruning fast --db-compaction ssd --cache-size 1524
- in case of hdd:
$ parity --warp --geth --mode active --tracing off --pruning fast --db-compaction hdd --cache-size 1524
Description of parameters:
"--cache-size 1024"=> this one is easy, the cache size, increase it if you have more memory
"--db-compaction ssd"=> how to optimize the database compaction for each type of hard drive
"--tracing off"=> turn off transaction tracing
"--pruning fast"=> fast pruning mode with lower state size for the client
"--mode active"=> parity never stops actively syncing and importing blocks
"--warp"=> in a fresh sync, it fetches the latest block snapshot and the blocks after that, that's what makes parity fast !
"--geth"=> use Parity as a back end to Ethereum Wallet
if you don't wanna use parity instead of geth and you wanna use it's own web interface open a browser and move to: