Using the Ledger hardware wallet with the Oxen GUI wallet is almost identical to the process with keys stored on your desktop. The two differences are:
There is a special process to create the wallet file.
When sending transactions the ledger device will prompt you to confirm the transaction.
Connect the hardware wallet to the PC and navigate to the oxen app.
The wallet needs to communicate with the Ledger and it must be on the Oxen dashboard page. This guide will demonstrate the process on a Ledger Nano S Plus. But both the Ledger Nano X and the Ledger Nano S will follow the same process.
From the Ledger app homepage (app selection) navigate to the Oxen app and press both buttons to select.
As the Oxen wallet app is currently being reviewed by the Ledger team you will first be prompted with a screen that reads “Pending Ledger review”. This screen will display for a few seconds and then allow you to progress by pressing both buttons at the same time.
You should now arrive on the Oxen dashboard. The divide will display “OXEN wallet” and a truncated string of the Oxen address. On this Ledger you can see that the Oxen Address is “LCYwfQr..XHS”. This address should also match the address displayed on the GUI wallet.
The device will need to be on this screen to work with the Oxen GUI wallet. All communications to the device happen via this page on the Oxen wallet app. If you are on any other page on your Ledger device, the GUI wallet will display an error message.
Setting up a hardware wallet file:
When you open the GUI wallet you will see the regular wallet select screen. We will select “Create New Wallet” from the dropdown menu which appears when clicking the + icon in the top right of the window.
The 1.8.0 version of the Oxen GUI wallet now has a checkbox on this page to confirm that the wallet will be a hardware wallet. Fill in the form with the new wallet name, password, check the hardware wallet box and click “Create Wallet”
You will then receive a prompt from the Ledger to “Export View Key” in order to create the wallet file on your desktop. Navigate to the “Always Export'' page by clicking the right button once, then click both buttons to accept.
Background on Exporting the View Key - Optional Technical Details on what just happened
One of the core functions of the wallet is to scan the blockchain which contains encrypted transactions. Each wallet has two keys that are used to:
1) Decrypt the encrypted transactions from the blockchain (View Key)
2) Craft transactions to spend funds in a transaction (Spend Key)
The wallet scans many transactions and processes a large amount of data to find the funds on the blockchain that belong to your wallet. This is an intensive computation that does take time on a regular computer. When using a hardware wallet the desktop does not have access to these keys, so we have two options to process the transaction:
Do the heavy computation on the small ledger wallet chip
Copy the View Key over to the desktop and let the bigger CPU handle this
There are drawbacks to both options. Doing the computation on the ledger is very slow. Exporting the view key is privacy reducing as it means if your desktop wallet is compromised it will be able to view your transactions (However it will not be able to make transactions).
Our recommendation is to export the view key and let the desktop process this calculation. The biggest benefit to having a hardware wallet is that a compromised computer will not be able to spend your funds so the tradeoff for processing the blockchain in a reasonable time is worth it in our opinion.
Continuing with the wallet creation
To access the hardware from now on, simply navigate through the wallet select page and you will see the new hardware wallet available under a heading called “Hardware wallets”. Clicking into this wallet will require the ledger device to be opened to the Oxen App main screen.
Navigate to the Send Transaction page on the wallet GUI
Create a transaction by filling in the address and amount fields of this page and then clicking “Send”
The hardware wallet will then begin processing the transaction. At first you will see the “Processsing TX” screen. This page may take some time as the ledger has to do some heavy calculations.
After this point the Ledger will confirm the transaction fee. Click the right button once to navigate to the “Accept” page and click both buttons to progress.
Next the wallet will confirm the amount and the recipient. Navigate right with the right button and the recipient should match what was entered into the GUI software page. Keep navigating right until the ledger displays the “Accept” page and click both buttons to progress
After this point the GUI wallet will prompt you to confirm send. Click “Send” to broadcast the transaction to the network.
The ledger will do some final processing and you will be rewarded with a green “Transaction Sent” notification in the GUI wallet.
Once you have exported your view key (or not), the GUI wallet will display the “Wallet Created Page” which shows the address of your newly created hardware wallet. This address should match what is on your ledger device. At this point the wallet has been successfully created. Click “open wallet” and the GUI will navigate to the regular wallet dashboard page where you can spend/stake etc as usual.