Ledger

Using SCRT with Ledger

This guide is for Ledger Nano S, S+, and X.

Introduction

A Ledger device is a hardware wallet that is considered one of the most secure ways to store your digital assets. A Ledger device uses an offline, or "cold storage," method of generating private keys, making it a preferred method for many crypto users. This guide will help you to connect your Ledger device to the Secret Network's CLI and GUI wallets. The wallets enable you to send and receive SCRT as well as stake/delegate SCRT with the Ledger device.

Prerequisites

1. This guide assumes you have a verified, genuine Ledger Nano S,S+ or X device.

2. If you don't, or you using your Ledger device for the first time, you should check Ledger's Getting Started guide.

3. We also advise you to check your Ledger device's genuineness and upgrade your firmware to the newest one available.

4. Have a machine with Ledger Live installed.

5. Have the latest version of our latest binaries installed in case you use Secret CLI. You can get it here.

Install Secret Ledger App

1. Open Ledger Live.

2. Now go to Manager and search "secret":

3. Hit "Install" and wait for the process to complete.

Fixing Connection Issues

  • Prepare your Linux host to work with Ledger

Some users may not have their Ledger device recognized by their Linux host. To fix this issue implement the fix for connection issues on Linux from the Ledger support page

wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash
  • MacOS

You will need at least MacOS 10.14 Mojave, which introduced the Security feature of allowing Full Disk Access, which Ledger Live needs in order to enable the --ledger flag in secretcli. Refer to the MacOS section in the Ledger support page.

Ping.pub GUI wallet

The ping.pub GUI wallet provides basic capabilities for Secret such as creating an account, staking and transferring SCRT tokens. Visit the ping.pub site for Secret here.

Import an account

1. Open the tab in the right top corner and click "Import Address."

2. Then, select "Ledger via WebUSB" and confirm with "Next".

3. Pick a name for your wallet and continue with "Next".

4. Lastly, check the displayed address in Ping.pub against the one displayed on your Ledger device, before confirming it on your Ledger device. Only then confirm with "Save" on the website.

Display your account

1. To display your account, head to the drop down menu in the top right corner and select "Accounts."

2. You can see all of your registered accounts in Ping.pub.

3. To see your account balance and transactions in detail, click on the account to show the details.

Copy the displayed account address in the Ping.pub wallet to receive SCRT. Please make sure that you verified your receiving address on the Ledger device to prevent loss of funds.

Send SCRT

To send SCRT, display your account balance. By selecting "Transfer", a window will appear in which you can input the destination address/Recipient and the amount you want to send.

Lastly, hit "Send" to send the transaction to the Ledger device. On your Ledger device, verify the transaction details on the device display, before confirming and signing it.

SecretCLI

For a more advanced user, it is possible to interface with the CLI utility, SecretCLI with a Ledger device. You can get it here. These are some basic examples of commands you can use with your Ledger device. You may notice that most commands stay the same, you just need to add the --ledger flag.

Import an account

Note: You can use any number you'd like for your account number. Be sure to remember the number you used, so you can recover if needed. The default for the account number is 0.

secretcli keys add <account name> --ledger --account <account number> 

Display your account address

secretcli keys show -a <account name>

Add an account to secretcli that already exists on your Ledger device

You'll use this when you, say, using a different machine.

secretcli keys add <account name> --ledger --account <account number on your Ledger device> --recover 

Warning: if you run the above command without the --ledger flag, the CLI will prompt you to enter your BIP39 mnemonic, which is your Ledger device recovery phrase. YOU DO NOT WANT TO DO THIS. This will essentially save your private key locally, which defeats the purpose of using a Ledger device.

The commands below assume that you run them on the same machine where you have a Secret Network node running. If you wish to connect to a remote Secret Network node while you interact with your Ledger device locally, the following command will use SCRT Lab's public node:

secretd config node https://lcd-secret.scrtlabs.com:443/rpc

Send tokens

secretcli tx send <account name or address> <to_address> <amount> --ledger 

Delegate SCRT to a validator

secretcli tx staking delegate <validator address> <amount to bond> --from <account key> --ledger

Collect rewards and commission

secretcli tx distribution withdraw-rewards --from <account name> --commission --ledger

Vote on proposals

secretcli tx gov vote <proposal-id> <vote> --from <account name> --ledger

Deposit snip-20 token

secretcli tx snip20 deposit <contract address or label> --amount <amount> --from <account name> --ledger

Transfer snip-20 token

secretcli tx snip20 transfer <contract address or label> <to_address> <amount> --from <account name> --ledger

Support

For support please contact the Secret Support here.

Last updated