Solution: help my Ethereum client synchronization stuck !!!

If you are frustrated because your GETH client is stuck and not synchronizing then you are facing a problem that many developers have faced. There are multiple reasons due to which  this may be happening:

  1. Your computers clock is not synchronized
  2. You have a slow connection or your firewall may be the cause
  3. Your client is connecting to the Pre ROPSTEN-Revival network

If you have already ruled out #1 and #2 then read on. The solution is here

1. Delete the chain data (or use --datadir to specify the directory for chaindata)

geth removedb

2. Start the geth with these option

geth --testnet --fast --nodiscover

3. Attach to the running node

geth attach "//./pipe/geth.ipc"

4. Add the known trusted peers

admin.addPeer('enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303')
 
admin.addPeer('enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303')

5. Once synchronization is complete, kill geth and start it normally (e.g., I used --data option)

geth --identity "MyTestNode" --datadir "./data" --testnet --verbosity "4" --fast

Give it a couple of hours & you should get the data

This is a tried solution - works for me, hope it works for you - All the Best !!!