ethereum / mist

[DEPRECATED] Mist. Browse and use Ðapps on the Ethereum network.
http://ethereum.org
GNU General Public License v3.0
7.45k stars 2.12k forks source link

Can't connect to node after switching to test network #2392

Open Hubaszaki opened 7 years ago

Hubaszaki commented 7 years ago

System information

Version: `8.1.0.`
OS & Version: windows 7 x64
Node type: `eth/geth(default)`

When I switched from main network to test network it gave an error messege that it can't connect to node (see log). I tried restarting the client, now I can't even start it up becouse I always get the same error messege and then it get's stuck on the splash screen.

The log file reads:

INFO [05-31|12:29:42] Starting peer-to-peer node instance=Geth/v1.6.1-stable-021c3c28/windows-amd64/go1.8.1 INFO [05-31|12:29:42] Allocated cache and file handles database="D:\\*\\geth\chaindata" cache=128 handles=1024

(I replaced the Folder names in the database location with '*'.)

Also while I was on the main network Ether transaction didn't appear in my wallet.

alexvandesande commented 7 years ago

Do not rename folders please, that's likely the issue

charly37 commented 7 years ago

I have the same error. On windows 10 and I used the installer (https://github.com/ethereum/mist/releases/download/v0.8.10/Ethereum-Wallet-installer-0-8-10.exe) so I could specify the chain data folder on another drive. Connecting to PROD network works fine but if I try to TEST network I have the following error etherko2

In case it helps here is the shortcut created by the installer on windows :

"C:\Utilitaires\etherwallet8-10\Ethereum Wallet.exe" --node-datadir="E:\CryptoCoins\Ether"

After I done the switch the wallet no longer want to start. I guess it is because it can not connect. I have the same popup and then this display: etherko3

and here are the console logs (Ctrl + Alt + I):

consoleLogs.txt

I can not provide the other logs since the app do not start

rootk1d commented 7 years ago

I have the very same error. I have to store the blockchain on an external drive because of the size. Anyone fixed this or found a work around yet?

MarinAngelo commented 7 years ago

Same Problem here:

INFO [06-09|21:34:24] Starting peer-to-peer node instance=Geth/v1.6.5-stable-cf87713d/windows-amd64/go1.8.3 INFO [06-09|21:34:24] Allocated cache and file handles database=C:\Users\MarinAngelo\AppData\Roaming\Ethereum\geth\chaindata cache=128 handles=1024

NealWalters commented 7 years ago

Exact same problem. I'm a first time user of the Mist Wallet, so not off to a good start. I'm on Windows 10. The reason I installed was to play with Solidity contracts on the test network.

Could it be the test network is just down or not responding? When I connect to primary network, it starts to download.

Neal

Log: =============== Jul 18, 2017 (CDT) =============== 12:28:16.326374 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed 12:28:16.330887 version@stat F·[1 49 312] S·818MiB[96MiB 99MiB 622MiB] Sc·[0.25 0.99 0.62] 12:28:16.330887 db@open opening 12:28:16.332394 journal@recovery F·1 12:28:16.333394 journal@recovery recovering @1576 12:28:16.697862 memdb@flush created L0@1578 N·61276 S·5MiB "\x00\x02t..(M\x8c,v11455039":"\xff\xf3\xba...|\x01,v11436373" 12:28:16.698864 version@stat F·[2 49 312] S·823MiB[101MiB 99MiB 622MiB] Sc·[0.50 0.99 0.62] 12:28:16.711899 db@janitor F·370 G·5 12:28:16.711899 db@janitor removing table-1579 12:28:16.712904 db@janitor removing table-1580 12:28:16.713904 db@janitor removing table-1581 12:28:16.714907 db@janitor removing table-1582 12:28:16.716413 db@janitor removing table-1583 12:28:16.717419 db@open done T·386.5315ms

NealWalters commented 7 years ago

I was using 8.10 wallet on two Windows 10 machines with same problem. I installed 8.09 and so far it seems to be connecting and downloading the blocks.

Neal

bibichu commented 7 years ago

In your Mist folder (C:\Users\YourPCName\AppData\Roaming\Mist), you have a network file. Backup the file and edit it. If you chose test network, the file will show the word "test" on it. Change it back to "main" and replace the file in the Mist folder. It should work again.

Enjoy :)

CoolGoose commented 7 years ago

Same issue happens for me with 0.9.0. In order to 'fix' it after the failed network switch i have to fix it as @bibichu mentioned. (Windows 10)

JasCodes commented 7 years ago

+1

VivinceTH commented 7 years ago

+1 Now fixed already by follow @bibichu....Thanks

boyvanduuren commented 7 years ago

I have the same issue on Windows 7. Another machine running Arch Linux did not have this problem though.

Is there a workaround to get Mist to connect to a test network anyway?

edit: To reproduce on my machine:

  1. Start Mist
  2. While it's downloading the main network's blockchain, click Launch Application
  3. Wait till the application is launched
  4. Click Develop -> Network -> Ropsten. Although it doesn't seem to matter which network I pick.

Following the above steps on my machine leads to the loading dialog being drawn, and then an error similar to the one shown in @charly37's error dialog.

nadimaj commented 7 years ago

+1@bibichu,

Mist has got to be the worst software I've dealt with in a long time. And to think I have a major amount of money relying on it for safekeep. Joke.

jayarjo commented 7 years ago

@nadimaj having to download almost 40gb of data just to have a wallet and try hands on some contracts feels like another joke. I wonder how nobody finds it funny.

jayarjo commented 7 years ago

@bibichu that kind of fixed it, however issue comes back again as soon as I try to switch to test network :/

denniskaselow commented 7 years ago

@jayarjo The problem for me is the --node-datadir in the Windows shortcut. See https://github.com/ethereum/mist/issues/2961#issuecomment-323333811. It needs to be different for every network, otherwise the different blockchains will cause a conflict.

jayarjo commented 7 years ago

@denniskaselow nice find, however it seems like something that should be handled by Mist under the hood. Not that complicated I guess to launch geth (or whatever they do) with corresponding params depending on what was selected in the UI. Looks like a bug to me.

jayarjo commented 7 years ago

Ok, I kind of suppressed my laziness and looked into the source, turns out it's mostly a packaged nodejs app... hm (I would personally never think that writing value managing app in nodejs might be a good idea :/). So from what I see at: ethereumNode.js#L364, Mist simply invokes it's predownloaded internal geth with either --testnet/--rinkeby or without it, --datadir does not seem to be specified anywhere. So the question is if geth is run with --testnet param, where does it take info about --datadir from?

denniskaselow commented 7 years ago

Nice find. I looked further and found that it's passed here: settings.js#L140. So the --node prefix just get's removed and datadir gets passed to geth.

jayarjo commented 7 years ago

I think it will be passed only if you specify it in command line, when launching Mist. Still doesn't explain how geth is supposed to locate proper datadir by default :/

jayarjo commented 7 years ago

From geth README:

Specifying the --testnet flag however will reconfigure your Geth instance a bit:

  • Instead of using the default data directory (\~/.ethereum on Linux for example), Geth will nest itself one level deeper into a testnet subfolder (\~/.ethereum/testnet on Linux).

So that's basically the logic geth (by design I guess) is supposed to look for the testnet folder in the main ethereum folder and looks like it should be named according to the param (e.g. testnet/ for --testnet)

jayarjo commented 7 years ago

I guess this is a place where geth resolves where to look for proper blockchain, depending on the flag: https://github.com/ethereum/go-ethereum/blob/master/cmd/utils/flags.go#L493. But the question still stays - why does it fail (sometimes?).

denniskaselow commented 7 years ago

This looks more like the place where the directory comes from: https://github.com/ethereum/go-ethereum/blob/master/cmd/utils/flags.go#L815. And it's also what I saw when I tested geth for my initial comment in the other issue.

If a datadir is passed, that one will be used (no matter which network was specified), otherwise the default path will be used for the main network, and testnet or rinkeby will be appended if specified.

jayarjo commented 7 years ago

But in theory it should switch that datadir, once geth is restarted with test flags.

Anyway... I've cloned the repo and noticed that when I launch dev version it just works (well at least after you resolve all the problems that set you back from building it in first place :/). So I've built those binaries and while installer version threw the same error again, portable version just worked (huh?). So long story short - I've simply modified the shortcut for the installed version (looks something like: "C:\Program Files\Mist\Mist.exe" --node-datadir="C:\Users\username\AppData\Roaming\Ethereum"), removing that --node-datadir from the command line altogether and now it seems to work.

I suppose there might be a problem if one ever decides to alter default datadir location, but for now it seems ok for me (until they patch it in one way or another :/).

pkitko commented 6 years ago

So, as a non-coder, how do we fix this?

dpisarewski commented 6 years ago

@pkitko Copy the shortcut for Mist, edit properties of it. Change the command to something like: "C:\Program Files\Mist\Mist.exe" --node-datadir="D:\Programs\Ethereum rinkeby" --network=rinkeby Where D:\Programs\Ethereum rinkeby is path to a directory to store data for the test network and rinkeby is the test network name.

renestach commented 6 years ago

Windows 10: I found the file under C:\Users\<username>\AppData\Roaming\Ethereum Wallet\network. I opened it with a text editor and changed its content from "dev" to "main". This fixed it for me.

chukwuemekanweke commented 6 years ago

C:\Users\\AppData\Roaming\Ethereum Wallet\network. Changed mine from rinkeby to ropsten. After doing this start up your wallet and select ropsten from the network option under the develop tab. This fixed the issue for me.

mcna72 commented 6 years ago

It seems very hard to explain how to solve this issue. It is clearly a bug by the designers of the wallet software. After you have switched to a test network you get this error and you cannot open the wallet anymore to change back the network settings. Quite annoying!

Also with windows 10 the AppData folder is a hidden folder, so you have to make the folder visible first by clicking the right mouse butten and change the properties. So make the hidden folders visible before you can do anything.

Uninstalling the wallet, restarting pc and re-installing the wallet doesn't help. You can see that the app data still has the nodes database and still holds your wallet key and so on.

But how in the world can you turn back the wallet to the main network if you cannot start it up? Isn't there anyone who can give a clear discription? I hear people talk about starting up 'geth'. I think most people that run into this problem don't know what 'geth' is and so do I. Also I don't know what it does and how to start it or what it has to do with solving this problem.

Is there anyone out there that has a solution to this problem? Why did the wallet software designers put a menu option in place that makes the software crash anyway? If anyone has the solution, please give a step by step description on how to solve this.

mcna72 commented 6 years ago

Okay I solved the problem but not the easy way. It is not possible to solve it via any back door. This is clearly a software bug. One advise: don't try to use the testnetwork. It will make your wallet software crash!

Solution: You have to make a backup of the C:\users\user\appsdata\roaming\ and there you select the ethereum and the ethereum wallet folder (which may be hidden). Back-up them to an external disk or somewhere you feel save. Then completely delete the folders from the appdata folder. Then unstall the ethereum wallet. Restart your pc and install the latest ethereum wallet download. Then you have to wait again for the wallet will download all the blocks in the blockchain once again to your hard disk (which might take 24 hours). After this you can enter your wallet again. But ofcourse your key has to be filled out again, but you can find this key in your backup folders. You find the key in the ehtereum/keystore/ folder. Replace the saved one with the one that was generated by the installation.

qbit86 commented 6 years ago

@rootk1d

I have to store the blockchain on an external drive because of the size.

What seems to be working for me so far. On Windows 10, using test network Rinkeby (or Ropsten), using custom data directory:

  1. Change content of the file C:\Users\***\AppData\Roaming\Ethereum Wallet\network to be:

    rinkeby

    (or test if you need Ropsten).
    This step is probably not even necessary (not sure), as Wallet changes this file by itself when receives appropriate command line arguments.

  2. Change shortcut for wallet:

    "C:\Program Files\Ethereum-Wallet\Ethereum Wallet.exe" --node-datadir="D:\***\Rinkeby" --network=rinkeby --syncmode=fast

    If you need Ropsten as test network, then try this:

    "C:\Program Files\Ethereum-Wallet\Ethereum Wallet.exe" --node-datadir="D:\***\Ropsten" --network=test --syncmode=fast
YannSuissa commented 6 years ago

The shortcut method is good @qbit86 I've figured out you can switch between networks by pressing alt key to make the menus appears, then development => networks, then we have main / rinkeby / ropsten / solo , without having to wait for the main blockchain to finish