I'm using a Macbook Pro OS X Version 10.9.5 and am unable to get through the syncing phase. "Ethereum node needs to sync, please wait..." is exactly what is prompt but regardless of the time I wait, it's unable to sync. I have the option to skip peer search and start the application but it then isn't synced to my wallet, thus showing 0 Ether in my main account. I downloaded the app 20 days ago and am just getting around to posting for help. Any insight would be greatly appreciated.
3 Answers
Here's what I would do:
Make sure you're using the latest Ethereum-Wallet release: https://github.com/ethereum/mist/releases
Connect to the testnet to verify that all is well (there should be less transactions on the testnet blockchain so you should be able to sync quicker)
- Skip peer search
- Appbar -> Develop -> Network -> Testnet (Morden)
If you can sync'd on the testnet, you'll know it's working.
Additional things you can try:
- verify that all dependencies are up-to-date. You may need to reinstall all Ethereum related stuff. Don't forget to backup your accounts
- Check your computer. Is it having issues building a DAG?
- Try connecting with Geth (it'll also sync you up and build a DAG)
Download Latest Wallet And Run Packaged Geth
Download the latest Ethereum Wallet from https://github.com/ethereum/mist/releases and install it.
You will find a geth executable in the ./resources/node/geth/ subdirectory under your Ethereum Wallet installation directory. This is the software that connects to peers in the Ethereum network to synchronise the blockchain. Here is the Linux equivalent listing of the Ethereum Wallet directory and geth subdirectory:
user@Kumquat:~/Ethereum-Wallet-linux64-0-5-1$ ls -al total 99520 drwxr-xr-x 4 user user 4096 Apr 2 00:11 . drwxrwxr-x 10 user user 4096 Apr 8 17:21 .. -rw-r--r-- 1 user user 153 Mar 5 03:33 AUTHORS -rw-r--r-- 1 user user 9215042 Mar 5 03:32 content_shell.pak -rwxr-xr-x 1 user user 59738392 Mar 5 03:32 Ethereum-Wallet -rw-r--r-- 1 user user 10206624 Mar 5 03:32 icudtl.dat -rw-r--r-- 1 user user 2546072 Mar 5 03:32 libffmpeg.so -rw-r--r-- 1 user user 520152 Mar 5 03:32 libgcrypt.so.11 -rwxr-xr-x 1 user user 17367040 Mar 5 03:32 libnode.so -rw-r--r-- 1 user user 32422 Mar 5 03:33 LICENSE -rw-r--r-- 1 user user 1137248 Mar 5 03:32 LICENSES.chromium.html drwxr-xr-x 2 user user 4096 Mar 5 03:32 locales -rw-r--r-- 1 user user 439857 Mar 5 03:32 natives_blob.bin -rw-rw-r-- 1 user user 65 Apr 2 00:11 privatekey.txt -rw-r--r-- 1 user user 1987 Mar 5 03:33 README.txt drwxr-xr-x 3 user user 4096 Mar 5 03:33 resources -rw-r--r-- 1 user user 657164 Mar 5 03:32 snapshot_blob.bin -rw-r--r-- 1 user user 6 Mar 5 03:33 version user@Kumquat:~/Ethereum-Wallet-linux64-0-5-1$ ls -al resources/node/geth/geth -rwxr-xr-x 1 user user 26892984 Mar 5 03:33 resources/node/geth/geth
Delete your old copy of the blockchain with the command:
rm -rf ~/Library/Ethereum/chaindata
From your Ethereum Wallet installation directory, run the command:
./resources/node/geth/geth --fast console
You should see something like the following messages (I'm running in Linux):
I0408 17:21:39.549439 29822 flags.go:425] WARNING: No etherbase set and no accounts found as default I0408 17:21:39.549604 29822 database.go:71] Alloted 16MB cache to /home/user/EthereumWallet/tmp/chaindata I0408 17:21:39.719778 29822 database.go:71] Alloted 16MB cache to /home/user/EthereumWallet/tmp/dapp I0408 17:21:39.721252 29822 backend.go:314] Protocol Versions: [63 62 61], Network Id: 1 I0408 17:21:39.721397 29822 backend.go:362] Blockchain DB Version: 3 I0408 17:21:39.721823 29822 blockchain.go:214] Last header: #0 [d4e56740…] TD=17179869184 I0408 17:21:39.721875 29822 blockchain.go:215] Last block: #0 [d4e56740…] TD=17179869184 I0408 17:21:39.721917 29822 blockchain.go:216] Fast block: #0 [d4e56740…] TD=17179869184 I0408 17:21:39.727628 29822 cmd.go:114] Starting Geth/v1.3.5-34b622a2/linux/go1.6 I0408 17:21:39.727768 29822 server.go:311] Starting Server I0408 17:21:41.677719 29822 udp.go:212] Listening, enode://2b3f690e2c7c398d5782a5a33d47da9965cf08497299d3b232014fc89b0a8cbdc66d789110f0cb5a047d24aa4e1f9987ebdbcf88108aec035629d3af8b5faba4@[::]:30303 I0408 17:21:41.677903 29822 backend.go:526] Server started I0408 17:21:41.678055 29822 server.go:552] Listening on [::]:30303 I0408 17:21:41.678340 29822 ipc.go:112] IPC service started (/home/user/EthereumWallet/tmp/geth.ipc) instance: Geth/v1.3.5-34b622a2/linux/go1.6 datadir: /home/user/EthereumWallet/tmp coinbase: null at block: 0 (Thu, 01 Jan 1970 10:00:00 AEST) modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0 > I0408 17:22:01.678243 29822 downloader.go:288] Block synchronisation started I0408 17:22:06.973046 29822 blockchain.go:889] imported 192 header(s) (0 ignored) in 1.274319263s. #192 [88e96d45… / 723899e8…] I0408 17:22:06.982296 29822 blockchain.go:1044] imported 2 receipt(s) (0 ignored) in 711.895µs. #2 [88e96d45… / b495a1d7…] I0408 17:22:09.990297 29822 downloader.go:1102] Rolled back 192 headers (LH: 192->0, FB: 2->0, LB: 0->0) I0408 17:22:11.778867 29822 blockchain.go:1044] imported 190 receipt(s) (0 ignored) in 36.573252ms. #192 [3d612266… / 723899e8…]
The last five lines of messages above show that geth is successfully connected to other peers on the Ethereum network and is downloading the blockchain data.
Still Does Not Work - Troubleshooting Connectivity
- If you still cannot get the blockchain to sync as shown in the previous section, you may have a firewall issue. geth will try to communicate to computers on port 30303 over the Internet.
- Are you running this from a corporate network or a home network?
- Are there firewalls in place that prevent communication to raw IP addresses?
- Are there any restrictions on the ports that can be communicated with?
Here are the initial Ethereum bootnodes that geth will try to initially communicate with (from https://github.com/ethereum/go-ethereum/blob/master/eth/backend.go#L71-L78):
defaultBootNodes = []*discover.Node{ // ETH/DEV Go Bootnodes discover.MustParseNode("enode://[email protected]:30303"), // IE discover.MustParseNode("enode://[email protected]:30303"), // BR discover.MustParseNode("enode://[email protected]:30303"), // SG // ETH/DEV cpp-ethereum (poc-9.ethdev.com) discover.MustParseNode("enode://[email protected]:30303"), }
Let's try communicating with the first bootnode server using the following command. In this case the results show that the connection is successful (the empty reply is because curl does not communicate with the same Discovery protocol as the Ethereum bootnode server):
user@Kumquat:~/Ethereum-Wallet-linux64-0-5-1$ curl http://52.16.188.185:30303 -o outfile % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 curl: (52) Empty reply from server
Here is what it would look like if your network does not allow communication to the Ethereum bootnode server. I'm simulating this condition by providing an incorrect IP address. The Time Spent value just keeps clicking over. You will have to press Control-C to break out of the curl program:
user@Kumquat:~/Ethereum-Wallet-linux64-0-5-1$ curl http://52.16.188.188:30303 -o outfile % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:02:03 --:--:-- 0^C user@Kumquat:~/Ethereum-Wallet-linux64-0-5-1$
If you are having the connectivity issues as shown in the previous point, you will need an un-blocked connection to the Internet if you want to synchronise your blockchain to the Ethereum network.
-
-
5chdn
, Ethereum.SE is a great place to learn about the Ethereum technology supported by a great community. Commented Apr 8, 2016 at 14:42 -
I think the output from
curl
can be a little confusing when trying to test an open port, which is why you may want to instead use netcat like this:nc -zvv 52.16.188.185 30303
.– Tom PurlCommented Feb 14, 2018 at 21:16
I'm not a big fan of syncing large chunks of chaindata with Mist because it's quite slow and generally doesn't print very good error messages. I would recommend getting geth and running geth --fast
for anything larger than a few days' worth of blockchain data.
If you get an error message from geth saying something is corrupted (this has happened to me multiple times), I recommend the following:
- Delete your copy of the blockchain with
rm ~/Library/Ethereum/chaindata/*
- Run
geth --fast
to download a new copy of the blockchain.
This will take 1-2 hours.