How to use a Ledger device with LTO Network - ltonetwork/ledger-app-lto GitHub Wiki

A Ledger device is a hardware wallet. Hardware wallets are considered very secure for the storage of a user’s private keys in the blockchain. Your digital assets are safe even when used on an infected or untrusted computer.

Please note that this tutorial applies only for LTO mainnet tokens. Do not try to send or receive tokens directly from Ethereum or Binance chains as your funds may be lost forever!

Before you begin

  • You have initialized your Ledger device
  • The latest firmware has been installed
  • Ledger Live is ready to use

Install the LTO Network app on your Ledger Nano

  1. Open the Manager in Ledger Live.
  2. Connect and unlock your Ledger Nano.
  3. If asked, allow the manager on your device by pressing the right button.
  4. Find LTO Network in the app catalog.
  5. Click the Install button of the app.
  6. An installation window appears.
  7. Your device will display Processing…
  8. The app installation is confirmed.

There are currently two ways to interact with the LTO Network blockchain using a Ledger hardware wallet: an installable CLI Wallet and a Web Wallet.

Use a Ledger device with the Web Wallet

Click here to access the Web Wallet: https://lto.stakely.io/

Please be sure to double-check that you are accessing the correct website.

  1. Connect and unlock your Ledger device.
  2. Open the LTO Network app.
  3. The Ledger device should be recognized immediately and the Web Wallet will display your addresses and balances.

If the Web Wallet does not recognize your Ledger device, be sure that no application is already using the device, like other browsers, wallets, or virtual machines. Try to close running programs or reboot your pc if you encounter problems.

The Web Wallet offers some useful functionalities like network switch, to carry out mainnet or testnet transactions; a balance viewer, where you will be able to see your total and available tokens; an address selector and the fields needed to create transactions.

This is how it should look like when a Ledger device with the LTO Network app is installed and loaded:

Feel free to experiment with changing your address ID or switch the network, everything will be updated instantly.

Regarding the address selector: inside a Ledger device, there are thousands of possible LTO addresses that can be used. With this web wallet, you can use up to eleven mainnet and testnet wallets, more than enough for normal use.

Here is an example of how to do a Start Lease transaction using the web wallet:

Perform a Start Lease transaction through a Ledger device using the Web Wallet

Fill in all form fields: transaction type, amount, recipient, and fee. Once you have finished, click on Sign transaction.

The Web Wallet will send this data to your Ledger device.

The hardware wallet will display on the screen the transaction data: transaction type, fee, amount, recipient, and transaction ID.

Always double check that the data shown on the Ledger device coincide with the data on Web Wallet.

Once you have validated the data, press the accept transaction button. You will see on the Web Wallet that the transaction was signed and this notification will pop up:

It means that we have the transaction ready to be broadcasted over the LTO Network blockchain. Press the Broadcast transaction button and it will be included in a block in a few seconds.

Finally, a notification will appear with a link to track this transaction with the official LTO Network blockchain explorer.

In case there is some error with the transaction data -as unavailable funds- an error message will be shown instead of this last notification.

The Web Wallet was built to be a full client-side Ledger Hardware Wallet interface. There is no data interchange between the Ledger Device or Web Wallet to any external server in the signature process.

Use a Ledger device with the CLI Wallet

It was the first interface for this Ledger hardware wallet app. It consists of an executable that autodetects your device showing a list of possible tasks.

These executables can be downloaded here, make sure you download the correct binary and most recent for your platform (Windows, Linux, macOS): https://github.com/iicc1/ledger-app-lto/releases

Once you have the executable downloaded, double click it, and a command-line will appear. Don't be afraid of the console, you won't need to write any command! This is a fairly easy way to use the wallet, you just need to enter the numbers and transaction fields.

There are six possible options to choose which are self-explanatory.

Let's see an example of how to send LTO with this CLI Wallet:

Send LTO through a Ledger device using the CLI Wallet

You should have your Ledger device with the LTO Network app selected and the Cli wallet opened:

We first need to get our public key and **address **from the Ledger device, so put a 1 in the console and press enter.

A message asking for a bip-32 path will show up, just click enter. We are going to use the default path in this tutorial.

Then, our public key and address will appear on the screen:

Now that we have this data, we can proceed to send a transaction. In this tutorial, I will do a transfer, so input a 2 and press enter.

A pop-up message asking for a path will emerge: just press enter.

Then it will ask you for a public key. You need to paste the public key we have fetched in the previous step; after that, press enter.

Note that in Windows, to copy something on the console, you need to select the text you want to copy and press enter. Then, to paste, just do a right-click on the console.

The CLI Wallet will ask you for a recipient. Paste the address you want to send LTO and press enter.

In the next step, you need to introduce how many LTOs you want to send. Press enter and it will try to sign this data with your Ledger device.

The Ledger device will display on its screen the transaction data: recipient, fee, amount, transaction ID, and your address.

Always double-check that the data shown by your Ledger device coincide with the data on the console.

Once you have validated the data, press the accept transaction button. You will see on the CLI Wallet that the transaction was signed:

Finally, we need to **broadcast **this transaction. To do that, copy everything between brackets (included) and paste it here: https://nodes.lto.network/api-docs/index.html#!/transactions/broadcast

Press Try it out! and there should not be errors in the Response Body

If you want to track your transaction, paste the id value from the Response Body on the explorer: https://explorer.lto.network

Further Security Notes and Further Developments

Although a Ledger hardware wallet is a very secure way of storing your LTO, always initialize your account by broadcasting a transaction to enhance the security of your account effectively reducing the chances of being hit by an “Address collision”.

Some features: data transactions, mass transfers, and other new transactions -even if supported by the Ledger integration- are not supported by the web/CLI wallet. They might be implemented in future releases of the web wallet.

Ledger devices use the Bip-32 deterministic wallet generation, so even if all Cli and Web LTO wallet interfaces disappear, you will be able to recover any wallet by using your Ledger device seed.

Final Notes

Ledger hardware wallet support for LTO Network was an unofficial development by the LTO Network community. You can contribute to the projects here:

Support

If you encounter any issue with your Ledger device, Web wallet, or CLI wallet, please join the LTO Network Tech Chat, or open an issue on Github.