I've installed the Mist wallet app v0.9.3 and it says "Synchronizing", and then after a few minutes the progress numbers stop changing. The log file shows repetitious socket errors (what is strange because my network is working perfectly fine). I kill the Mist process and restart it, and then it starts synchronizing again for a few minutes, and then gets stuck again. Rinse and repeat.
Any idea how to fix it?

  • Try downloading the latest version of Geth and synchronize using geth command
    – Webdev
    Jan 9 '18 at 6:47

When you start geth (done implicity by mist) for first time it starts in fast sync mode. Fast syncing goes up until 1000 blocks left, then get slows down and pulls latest state of the blockchain. At that stage it might look like things hang (but you can see counters increasing). See also What is Geth's "fast" sync, and why is it faster?.

I suggest you use wireshark/tcpdump to see how critical your socket errors are. Some errors might be harmless. Look for packets with port number 30303.

You can get a better view on what is happening if you run geth manually. (You have not specified what platform you are using and if you are syncing with mainnet or testnet. I will assume Linux and mainnet, tell me if you need instructions for another environment.)

Stop mist and run your node: "~/.config/Mist/binaries/Geth/unpacked/geth". Then, in another terminal, attach to geth console: "~/.config/Mist/binaries/Geth/unpacked/geth attach". On that console you can do "debug.verbosity(5)" to make geth node show debug and trace messages. Some network errors are normal. You can also type "eth.syncing" to observe counters changing (or not changing). You can also check "admin.peers" to see how many peers your node has acquired. It might take few minutes to find any, be patient.


Mist and geth have a lot of problem on syncing.

If you are in a pinch and have to deploy a contract you don't need the full node sync, just follow this simple steps instead (i found in a post and help me a lot):

  1. Install https://metamask.io/ and
  2. Navigate to https://remix.ethereum.org/

  3. Click on settings -> choose your compiler (e.g. 0.4.19+commit.c4cbbb05). Note that optimization is unchecked.

  4. Login to metmask and choose your network (i would suggest first testing using ropsten test network and using the buy button to get ETH from a free faucet)
  5. Go back to the compile tab, Delete the contents of the example contract, Paste in your contract (it should auto compile).
  6. Click on the run tab If you contract have input data you have tu put that data on double quoute ("). Click on create.
  7. Metamask will open, choose your gas price and click Submit to sign your transaction Open metmask again, click on the transaction hash.
  8. Once published. in etherscan go to the contract address and Click on Contract Code tab on etherscan, click Verify and Publish.
  9. Set the name of the contract to the exact name as in remix, Compiler to the same exact version as in remix and set optimization to "No" if you didn't click it on remix in step 3. You should now have a published contract, with source code on etherscan.

Find the location of geth that mist uses, if on windows you can open that task manager find it , right click and go to the location.

Now you have the location, kill geth and mist.

run geth with the --light parameter it should only take a few minutes like 5mins.

Once you see its synced to the latest block start mist.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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