As the title states, I am using Linux and the v0.12 GUI does not connect to a local or remote node. In addition, I am seeing this particular error in monero-wallet-gui.log
:
ERROR default src/wallet/api/utils.cpp:46 error: std::bad_cast
This particular issue is resolved in GUI v0.13.
This bad_cast
issue is currently being investigated. In the meantime, there are two (temporary) workarounds, namely (i) using CLI v0.12 and (ii) using GUI v0.11 (with monerod
v0.12 if you're using a local node).
Workaround 1:
Exit the GUI.
Browse to the directory your wallet files are located (~/Monero/<wallet-name>
)
Copy the wallet files to the same directory as v0.12 CLI (monero-wallet-cli
).
Open a new terminal from the same directory as v0.12 CLI.
If you specified a custom data directory (or, in other words, if you specified a Blockchain location
in the GUI), skip this step and proceed to step 5. If you did not specify a custom data directory, type:
./monerod
If you specified a custom data directory, we have to add the --data-dir
flag. That is:
./monerod --data-dir path/to/data/directory
For instance, if you used Monero
as data directory on an external drive, your command would be:
./monerod --data-dir /Volumes/externaldrive/Monero
Note that the --data-dir
flag has to be applied every time you start the daemon (monerod).
Open another terminal from the same directory as v0.12 CLI.
Type -> ./monero-wallet-cli
Enter your wallet name.
Enter your password.
The wallet should now open in the CLI and perform a refresh.
Once it's fully refreshed, you can transact. I'd advise to use this guide for assistance:
https://getmonero.org/resources/user-guides/monero-wallet-cli.html
Workaround 2:
Exit GUI v0.12.
Replace monerod
in the v0.11 directory with the v0.12 monerod
Browse to the directory your wallet files are located (~/Monero/<wallet-name>
)
Rename <wallet-name>
(the file without extension) to <wallet-name>-old
Open GUI v0.11. It should now work properly with monerod
v0.12.
There is, unfortunately, one salient caveat with this workaround. That is, input sorting is required for v7 and GUI v0.11 is not able to sort inputs. As a result, creating a 2 input 2 output transaction will, on average, fail 50% of the time. Similarly, creating a 3 input 2 output transaction will, on average, fail 33% of the time. Creating a 1 input 2 output transaction, however, should not fail.
Workaround 1:
Exit the GUI.
Browse to the directory your wallet files are located (~/Monero/<wallet-name>
)
Copy the wallet files to the same directory as v0.12 CLI (monero-wallet-cli
).
Open a new terminal from the same directory as v0.12 CLI.
Type -> ./monero-wallet-cli --daemon-address <remote-node-address>:<remote-node-port>
For instance, if you used node.moneroworld.com
with port 18089
as remote node, the command would be -> ./monero-wallet-cli --daemon-address node.moneroworld.com:18089
Enter your wallet name.
Enter your password.
The wallet should now open in the CLI and perform a refresh.
Once it's fully refreshed, you can transact. I'd advise to use this guide for assistance:
https://getmonero.org/resources/user-guides/monero-wallet-cli.html
Workaround 2:
Exit GUI v0.12.
Browse to the directory your wallet files are located (~/Monero/<wallet-name>
)
Rename <wallet-name>
(the file without extension) to <wallet-name>-old
Open GUI v0.11. It should now work properly.
There is, unfortunately, one salient caveat with this workaround. That is, input sorting is required for v7 and GUI v0.11 is not able to sort inputs. As a result, creating a 2 input 2 output transaction will, on average, fail 50% of the time. Similarly, creating a 3 input 2 output transaction will, on average, fail 33% of the time. Creating a 1 input 2 output transaction, however, should not fail.