3

According to the release notes v0.12.x.0 includes Ledger support. How do I, on Mac OS X, generate a Ledger Monero wallet with the CLI and subsequently use it in the GUI?

3

The GUI is now able to directly generate a Ledger Monero wallet. Thus, please see this Q&A:

How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)?

We first have to ensure that we're sufficiently prepared. This entails the following:

  1. This guide assumes you have already initialized your Ledger wallet and thus generated a 24 word mnemonic seed.

  2. You need to run / use GUI v0.12.3.0, which can be found here. You can, if you're still running an older version, use the instructions in aforementioned Reddit post to upgrade.

  3. You need to install the Ledger Monero app and configure your system. Instructions can be found here (sections 3.1.1 and 3.2.2 in particular).

  4. Note that the instructions for system configuration (section 3.2.2) on Mac OS X are quite elaborate and can be perceived as slightly convoluted. Fortunately, tficharmers has created a guide here that you can use for assistance.

  5. All Monero related processes need to be closed.

  6. Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Now that we're sufficiently prepared, let's start!

  1. Use Finder to browse to the directory / folder monero-wallet-gui.app (GUI v0.12.3.0) is located.

  2. Right click on monero-wallet-gui.app -> Show contents

  3. You should now see monero-wallet-cli

  4. Go to your desktop.

  5. Open a new terminal (if don't know how to open a terminal, see here).

  6. Drag monero-wallet-cli in the terminal. It should add the full path to the terminal. Do not hit enter.

  7. Now type:

    --generate-from-device <new-wallet-name> --restore-height 1585000 --subaddress-lookahead 3:200

Note that is simply a placeholder for the actual wallet name. If you, for instance, want to name your wallet MoneroWallet, the command would be as follows:

--generate-from-device MoneroWallet --restore-height 1585000 --subaddress-lookahead 3:200

Note that aforementioned text will be appended to the path of monero-wallet-cli. Thus, before you hit enter, your terminal should look like:

/full/path/to/monero-wallet-cli --generate-from-device <new-wallet-name> --restore-height 1585000 --subaddress-lookahead 3:200

Where the full path is, intuitively, the actual path on your Mac OS X.

  1. The CLI will, after executing aforementioned command, prompt your for a password. Make sure to set a strong password and confirm it thereafter.

  2. The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.12.3.0) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one cavaet. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported.

  3. You may have to hit confirm twice before it proceeds.

  4. Your Ledger Monero wallet will now be generated. Note that this may take up to 5-10 minutes. Furthermore, there will be no immediate feedback in the CLI nor on the Ledger.

  5. You may, after the CLI has generated your wallet, get an error about the wallet not being connected to the daemon. You can ignore that for now.

  6. Type exit into monero-wallet-cli to close the CLI.

  7. Note that your wallet files will, most likely, be stored in ~, which is short for /Users/<username> on Mac OS X. This may be a bit inconvenient. Fortunately, however, you can simply copy the wallet files to a different preferred directory / folder.

  8. Open GUI v0.12.3.0. If you have already created a wallet in the GUI, click Cancel when it prompts you for the password of your current wallet. This should bring you back to the wizard. If you haven't already created a wallet, you should automatically start in the wizard.

  9. The first page of the wizard is language selection, which looks like this. Select your desired language to proceed.

  10. On the second page of the wizard, which looks like this, select Open a wallet from file.

  11. Select the wallet file (the .keys file, which, to reiterate, is stored in either Users/<username> or in your preferred directory / folder) you just created with the CLI.

  12. Congratulations, you can now use your Ledger Monero wallet with the GUI! If you need any general assistance with the GUI, please see this guide.


A few final notes:

  1. I'd strongly advise to test the full process first. That is, send a small amount to the wallet and subsequently restore it (using aforementioned guide) to verify that you can recover the wallet.

  2. If desired, you can manually tweak the --subaddress-lookahead value. The first value is the number of accounts and the second value is the number of subaddresses per account. Thus, if you, for instance, want to pregenerate 5 accounts with 100 subaddresses each, use --subaddress-lookahead 5:100. Bear in mind that, the more subaddresses you pregenerate, the longer it takes for the Ledger to create your wallet.

  3. You only have to use the --generate-from-device flag once (i.e. upon wallet creation). Thereafter, you'd basically use it similar to how you normally use the GUI. That is:

[1] Make sure your Ledger is plugged in and the Monero app is running.

[2] Open monero-wallet-gui

[3] Enter the password to open the wallet.

  1. If you have any further questions or need assistance, please leave a comment in this thread.
  • Is there a way when connecting the GUI to a Remote Node with a specified address and port number to prevent node connection oscillations every ~20 seconds, ~10 seconds connected and ~ 10 seconds disconnected? Local Node connections don't oscillate. – skaht Jul 18 '18 at 15:14
  • You're probably affected by the aggressive time-out feature present in GUI v0.12.2.0. This will, fortunately, be resolved in GUI v0.12.3.0, which should be out soon. – dEBRUYNE Jul 18 '18 at 17:56

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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