Interacting with Moonbeam Using Ledger and the Ethereum App¶
Introduction¶
Hardware wallets provide a safer way to store crypto funds because the private key (used for signing transactions) is stored offline. Ledger offers two hardware wallet solutions at the time of writing: Ledger Nano S and Ledger Nano X.
For Moonbeam, Moonriver, and the Moonbase Alpha TestNet, you can use the Ethereum app on Ledger Live by setting the chain ID. For Moonbeam, the chain ID is 1284, for Moonriver it's 1285, and for Moonbase Alpha it's 1287.
For Moonbeam and Moonriver you also have the option of using the dedicated Moonbeam app or Moonriver app on Ledger Live, this way you do not have to worry about setting the chain ID and you know you are connected to the right network. Please note that you can only use the Moonbeam app to connect to the Moonbeam network, and the Moonriver app can only be used to connect to the Moonriver network. These dedicated apps will not work for other Moonbeam-based networks.
In this tutorial, you will learn how to get started with your Ledger hardware wallet on Moonbeam using the Ethereum app. This guide only illustrates the steps for a Ledger Nano X device, but you can follow along with a Ledger Nano S as well.
Checking Prerequisites¶
Before you get started, update Ledger Live to the latest version available. Also, make sure you've your Ledger hardware wallet device running the latest firmware. The Ledger support website offers tutorials on how to update the firmware of both Ledger Nano S and Ledger Nano X devices.
At the time of writing, the following versions were used:
As of November 29, 2022, the Moonbeam and Ledger Live integration was released, allowing you to send and receive GLMR tokens with your Ledger device directly in Ledger Live. With this integration, you'll no longer need to connect your Ledger to MetaMask. If you prefer this method, please skip ahead to the Use Ledger Live to Send & Receive GLMR section of this guide.
If you prefer to use MetaMask as an intermediary between your Ledger device and Moonbeam, make sure that your MetaMask is connected to Moonbeam.
As of MetaMask version 10.5.0, connecting your Ledger device with MetaMask on Chrome is easy again. You just need to have the latest version of MetaMask installed.
Install the Ledger Live App¶
If you want to connect to Moonbeam, Moonriver, or the Moonbase Alpha TestNet you can do so by installing the Ethereum app, and later on you'll need to specify a chain ID.
To get started, open up Ledger Live and:
- Select Manager from the menu
- Connect and unlock your device (this must be done before installation)
- In the App catalog search for Ethereum (ETH) and click Install. Your Ledger device will show Processing and once the installation is complete, the app will appear on your Ledger device
In the Ledger Live app, depending on which app(s) you installed you should see them listed under the Apps installed tab on the Manager page. After the app(s) have been successfully installed, you can close out of Ledger Live.
Import your Ledger Account to MetaMask¶
Now that you've installed the app(s) on Ledger Live, you can connect your Ledger to the computer and unlock it, and open the Ethereum app.
Then import your Ledger account to MetaMask using the following steps:
- Click on the top-right logo to expand the menu
- Select Connect Hardware Wallet
In the next screen, you are prompted to select which hardware wallet you'll like to use in MetaMask. At the moment of writing, only Ledger and Trezor hardware wallets are supported. Here, take the following steps:
- Select the Ledger logo
- Click on Continue
If you're using Chrome or a Chrome-based browser like Brave, you'll be prompted to select your Ledger device to connect via WebHID:
- Select your Ledger device from the pop-up
- Click Connect
If a pop-up doesn't appear, you may need to change your MetaMask settings to enable a WebHID connection. You can check and update your MetaMask settings by following these steps:
- Expand the top-right menu and go to Settings
- Navigate to Advanced
- Scroll down to Preferred Ledger Connection Type and select WebHID from the dropdown
Note
The Preferred Ledger Connection Type setting is only available on Chrome and Chrome-based browsers. This setting doesn't exist on other browsers such as Firefox.
If MetaMask was able to connect successfully to your Ledger device, you should see a list of five Moonbeam/Ethereum-styled accounts. If not, double-check that Ledger Live is closed, you've connected your Ledger device to the computer, and unlocked it, and make sure the Ethereum app is open.
Import Accounts and View Balances¶
From the list of accounts, take the following steps:
- Select the accounts you would like to import from your Ledger device
- Click on Unlock
If you've imported your Ledger account successfully, you should see your account and balance displayed in the main MetaMask screen like shown in the following image:
You can switch accounts in MetaMask at any time to view the balance of your other imported Ledger accounts.
You've now successfully imported a Moonbeam compatible account from your Ledger device and are now ready to start interacting with your Ledger device.
Receive Tokens¶
To get started interacting with your Ledger device, you will need to send some funds to it. Copy your address from MetaMask by clicking on your account name and address in MetaMask.
Next, you will need to obtain some GLMR, MOVR, or DEV tokens and using the address you just copied, send the tokens to your account. After the transaction has successfully gone through, you will see your balance update.
You can get DEV tokens for testing on Moonbase Alpha once every 24 hours from the Moonbase Alpha Faucet.
Send Tokens¶
Next up is sending and signing transactions on Moonbeam using your Ledger device. To get started sending a transaction, click on the Send button:
As you would in a standard transaction, set the recipient address, enter the number of tokens to send, review transaction details and confirm it. This will initiate the transaction signature wizard in your Ledger device. Here, take the following steps:
- Click the button to proceed to the next screen. Your Ledger device is only warning you to review the transaction
- Check the number of tokens being sent then proceed to the next screen
- Check the recipient's address and proceed to the next screen
- Check the chain ID of the network. This information confirms which network MetaMask is connected to. For Moonbeam the chain ID is 1284 (hex: 0x504), Moonriver is 1285 (hex: 0x505), and Moonbase Alpha is 1287 (hex: 0x507). When ready, proceed to the next screen
- Check the max fees applicable to this transaction. This is the gas price multiplied by the gas limit you've set on MetaMask. When ready, proceed to the next screen
- If you agree with all the transaction details, approve it. This will sign the transaction and will trigger MetaMask to send it. If you don't agree with all the transaction details, reject it. This will cancel the transaction, and MetaMask will mark it as failed
Right after you've approved the transaction, MetaMask sends it to the network. Once the transaction is confirmed, it will be displayed as Send on the Activity tab in MetaMask.
And that is it! You've signed a transaction and sent some tokens on Moonbeam using your Ledger hardware wallet!
Interact with Contracts Using your Ledger¶
By default, Ledger devices don't admit a data
field in the transaction object. Consequently, users can't deploy or interact with smart contracts.
However, if you want to use your Ledger hardware wallet for transactions related to smart contracts, you need to change a configuration parameter inside the app on your device. To do so, take the following steps:
- On your Ledger, open the Moonriver or Ethereum app
- Navigate to Settings
- Find the Blind signing page. It should state NOT Enabled at the bottom
- Select/validate the option to change its value to Enabled
Note
This option is necessary to use your Ledger device to interact with ERC-20 token contracts that might live inside the Moonbeam ecosystem.
Use Ledger Live to Send & Receive GLMR¶
You can also use your Ledger device to send and receive GLMR tokens securely from within Ledger Live. This enables you to manage your GLMR tokens without connecting your device to MetaMask.
When you open up the Ledger Live app, make sure that you've installed the latest updates. If there are any pending updates that need to be installed, there will be a banner at the top of the screen that prompts you to install the updates.
To get started, you'll need to login to your Ledger device to unlock it. From Ledger Live, click on My Ledger. On your device, you'll be prompted to allow Ledger manager; you can click both buttons on your device to allow it.
Once on the Ledger manager, you'll need to make sure that your firmware is up to date, and if the Moonbeam and/or Ethereum apps need to be updated, go ahead and install the latest versions.
Next, you'll need to add an account to your Ledger Live app. To do so, you can take the following steps:
- Click on Accounts from the left-side menu
- Select Add account
- A dropdown will appear. Search for GLMR and Moonbeam (GLMR) should appear for you to select
- Click Continue
Next, you'll be able to enter an account name and click Add account. If your account was successfully added, you can click Done and your account will appear in your list of accounts.
Receive Tokens¶
To receive GLMR to your Ledger device, you can take the following steps from Ledger Live:
- Click on Receive from the left-side menu
- A pop-up will appear. You can select your Moonbeam account where you want to receive tokens from the Account to credit dropdown
- Click Continue
Next, your address should appear on Ledger Live, and you'll be prompted to verify your address on your Ledger device. On your device, you can take the following steps:
- You should see Verify Address on your device's screen. Click the right button to start verifying your address
- On the next screen, you should see your address. Compare the address on your device to the one displayed on Ledger Live and verify it matches. At this time, you'll want to copy the address from Ledger Live so you can send a transaction to it. Click the right button to continue
- Now, you should see the Approve screen. If the addresses match, you can click both buttons on your device to approve the verification. Otherwise, click the right button again to get to the Reject screen where you can click both buttons to reject the verification
Over on Ledger Live, you'll see that your address has been shared securely, and you can click Done. Now, you can send some GLMR to your Ledger account.
Send Tokens¶
To send GLMR from your Ledger device, you can take the following steps from Ledger Live:
- Click on Send from the left-side menu
- A pop-up will appear. From the Account to debit dropdown, you can select your Moonbeam account that you want to send tokens from
- Enter an address in the Receipient address field
- Click Continue
On the next screen, you can enter the amount of GLMR that you would like to send and click Continue.
The last step on Ledger Live is to verify that the transaction details are correct. If everything looks good, you can click Continue. Then you'll be prompted to confirm the transaction on your Ledger device:
- The first screen will be the Review transaction screen. Click the right button to proceed to the next screen
- Verify the amount of GLMR you're sending and click the right button to proceed
- Verify the address you're sending the GLMR to and click the right button to proceed
- The Network screen should show Moonbeam. Click the right button to proceed
- Review the Max Fees and click the right button to proceed
- If everything looks good, you can click both buttons to Accept and send the transaction. Otherwise, you can click the right button to get to the Reject screen where you can click both buttons to reject the transaction
On Ledger Live, you should see that your transaction was sent, and you can view the details of the transaction. Once the transaction has been confirmed, your GLMR balance will update.
And that is it! You've successfully used the Moonbeam Ledger Live integration to receive and send tokens with your Ledger device directly from Ledger Live!
| Created: June 22, 2021