How To Create a Monero Wallet with Ledger Nano S on Windows 10
First & foremost, this guide is making the assumption that you have already initialized the Ledger by setting a PIN & copying down your recovery phrase. Once your Ledger is set up, you need to use the Ledger Manager Chrome App to install the Monero Ledger app on your Ledger Nano S.
You can use the link above to download the Ledger Manager Chrome app. When you launch the Ledger Manager, you will see a window that looks like this:
Now, as you may have guessed, you need to plug your Ledger Nano S into your computer via the USB cable that comes with it. After plugging the Ledger in & entering your PIN, it will load and present you with the numerous different Ledger apps you can install. Scroll down until you see the Monero app & click the Green Arrow to download it, as pictured below:
After you’ve downloaded the Ledger Monero app, you’re one download away from getting set up! Next, you’ll need to download the Monero CLI, which you can find here:
When you get to the downloads page on getmonero.org, you may find that you’re not sure whether you should be downloading the 32-bit or 64-bit version. Not to worry. If you have no idea or are just unsure, you can check here:
https://support.microsoft.com/en-us/help/15056/windows-7-32-64-bit-faq
Now that your downloads are in order, you are ready to set up your very own Monero Wallet on your Ledger Nano S!
First things first- you’ll need to right-click the recently downloaded CLI folder & click ‘Extract All.’
When it is finished extracting, the new folder will open, (assuming you left the ‘Show extracted files when complete’ box checked) & from there you will see these files:
At this point, you are ready to set up the wallet on the ledger. The only thing in your way is getting connected to the daemon, also known as monerod.exe.
There are two options to consider when getting started. The first option is to use a remote node, which is not recommended because it reduces your privacy; when you broadcast transactions your IP address can be logged. However, this option will allow you to quickly utilize the Monero wallet on the Ledger Nano as you only have to enter one line of code & wait for the wallet to sync once. The second option is to run your node locally which is the recommended method, and is necessary if you ever wish to mine Monero.
To generate your Monero wallet, you’ll start by holding the shift key & right clicking the blank space in the unzipped folder & select ‘Open Powershell window here.’
If you open a powershell window, it will look like this:
Conversely, you can also click in the File explorer bar & type ‘cmd’ & press enter to open the command window where you will be setting up the wallet.
If you clicked ‘open command window here’ or typed ‘cmd’ into the File explorer bar, you will get a window that looks like this:
I like typing ‘cmd’ in the File explorer bar, so this guide will be using the Command window, but again, they both use the same commands.
To initialize the Monero wallet on your Ledger Nano S, you must unlock your Ledger by entering the PIN. Then, you must open up the Monero app on your Ledger device to ensure the commands you are about to enter work.
Now you are ready to enter the commands!
The 1st command you’ll enter to create your wallet on Ledger:
.\monero-wallet-cli.exe --generate-from-device YOUR_WALLET_NAME_HERE --subaddress-lookahead 3:200
Replace YOUR_WALLET_NAME_HERE with whatever you’d like to name the wallet. I named mine ‘moneroledger’ when setting up my XMR wallet on my Ledger Nano S.
Next, the CLI will ask you to create a password for your wallet. After creating a password, you will have to confirm the password to sign onto the wallet. After you enter the password, your Ledger will prompt you to confirm that you want to ‘Export View Key.’
Now you’ve officially generated your Monero wallet on your Ledger Nano S!
When the CLI asks you (Y/Yes/N/No) if it’s okay to start restoring the blockchain, you want to type ‘Y’ & press enter. You will likely get an error because you are not connected to the daemon, but we’re about to change that!
As stated earlier, the preferred method is to sync the daemon yourself & run your own local node by typing ‘cmd’ into the ‘monero_CLI_LEDGER’ (or whatever you named this folder) File explorer bar. This will open the Command window. From here, all you need to type is this line & press enter:
.\monerod.exe
This will run the daemon which will begin to sync. If you want to be especially careful, and to make sure that you won’t have to worry about having an issue and having to restart from scratch, you can instead type this & press enter:
.\monerod.exe --db-sync-mode safe
This will ensure the blockchain syncs without getting corrupted. This method is slower, but it is the tried & true method to get your Daemon running. As it stands there are about ~1,560 days of Monero blocks that need to sync, so it may take a few days. (I will be adding how-to import blockchain.raw to speed up this process in the future, but for now, this method is sufficient & doesn’t require any technical skill, aside from maybe copy/paste.)
If you don’t have a couple days to wait, there are two methods for getting connected to a remote node. First, you can visit the website above & copy/paste one of the links listed. For this example, I’m using a link that was listed on the above website.
There are two ways to connect to a remote node. The first is by typing:
set_daemon geo.node.moneroworld.com:18089
& pressing Enter right in the CLI after you’ve opened your wallet. This will start the blockchain sync.
You can also set the remote node by appending an extra line when you first open your wallet. Instead of just typing “.\monero-wallet-cli.exe,” type the following & press enter:
.\monero-wallet-cli.exe --daemon-host geo.node.moneroworld.com:18089
Then you can finish signing into your wallet, and after you confirm you want to export view key on your Ledger, your wallet will start to refresh and will scan the Monero blockchain for any transactions involving your address.
IMPORTANT:
-After it finishes refreshing, and the wallet is fully synced, be sure to type the command ‘save’ and press enter. This way each time you open your wallet you won’t have to refresh the entire blockchain.
To close the wallet, enter the command ‘exit’ to close the Command window. Congratulations! You now have securely set up a Monero wallet through your Ledger Nano S!
When you are running a local daemon, you should have TWO Command windows open. One should be running:
.\monero-wallet-cli.exe
The other should be running:
.\monerod.exe
(Or you can sync your local daemon in safe mode by typing: “.\monerod.exe --db-sync-mode safe”)
This is what the .\monero-wallet-cli.exe looks like whilst you are still syncing your local daemon:
This is just to generate a Monero wallet on your Ledger Nano S on Windows. I will be updating this guide as time goes on to include more tips & tricks and also to add information for mining XMR with the CLI.