diff --git a/docs/assets/ledger-4.png b/docs/assets/ledger-4.png deleted file mode 100755 index e9cad0d8091..00000000000 Binary files a/docs/assets/ledger-4.png and /dev/null differ diff --git a/docs/assets/ledger.png b/docs/assets/ledger.png deleted file mode 100644 index 28d01a3b0da..00000000000 Binary files a/docs/assets/ledger.png and /dev/null differ diff --git a/docs/assets/ledger/add-account.png b/docs/assets/ledger/add-account.png deleted file mode 100755 index e35475d916a..00000000000 Binary files a/docs/assets/ledger/add-account.png and /dev/null differ diff --git a/docs/assets/ledger/ledger-balance.png b/docs/assets/ledger/ledger-balance.png deleted file mode 100644 index a0647cbad14..00000000000 Binary files a/docs/assets/ledger/ledger-balance.png and /dev/null differ diff --git a/docs/assets/ledger/manager-app-kusama.png b/docs/assets/ledger/manager-app-kusama.png deleted file mode 100644 index 7c4923ddd35..00000000000 Binary files a/docs/assets/ledger/manager-app-kusama.png and /dev/null differ diff --git a/docs/assets/ledger/query-device.png b/docs/assets/ledger/query-device.png deleted file mode 100644 index ebb9013859e..00000000000 Binary files a/docs/assets/ledger/query-device.png and /dev/null differ diff --git a/docs/assets/ledger/query-ledger.png b/docs/assets/ledger/query-ledger.png deleted file mode 100755 index da45bc4ebc6..00000000000 Binary files a/docs/assets/ledger/query-ledger.png and /dev/null differ diff --git a/docs/learn/learn-guides-assets-ledger.md b/docs/learn/learn-guides-assets-ledger.md deleted file mode 100644 index cc4dbd1ee32..00000000000 --- a/docs/learn/learn-guides-assets-ledger.md +++ /dev/null @@ -1,274 +0,0 @@ ---- -id: learn-guides-assets-ledger -title: Polkadot-JS Guides about Asset Hub Ledger App -sidebar_label: Asset Hub Ledger Guides -description: Polkadot-JS Guides about Ledger and the Asset Hub. -keywords: [asset hub, ledger, assets, statemine, statemint, polkadot-js] -slug: ../learn-guides-assets-ledger ---- - -import MessageBox from "../../components/MessageBox"; import "../../components/MessageBox.css"; - - - -:::info - -Because of required WebUSB support, Ledger wallets currently only work on Chromium-based browsers -like Brave, Chrome or Edge. - -::: - -The Asset Hub has a [Ledger](https://www.ledger.com/) application that is compatible with the Ledger -Nano S and Ledger Nano X devices. The Ledger devices are hardware wallets that keep your private key -secured on a physical device that does not get directly exposed to your computer or the internet. - -The Statemine application allows you to manage your KSM and other tokens on the Asset Hub parachain. -It supports most of the available transaction types of the network in the XL version of the app -(details [below](#installing-the-ledger-application)). - -If you have trouble using Ledger or following the directions below, you can try searching for your -issue on the [Polkadot Support page](https://support.polkadot.network/). - -:::note Intro to Ledger Explainer - -Please check out our -[intro to Ledger video on YouTube for more information](https://youtu.be/7VlTncHCGPc). - -::: - -## Requirements - -Here is a list of what you will need before starting: - -- A Ledger Nano S or a Ledger Nano X. -- The latest firmware installed. -- Ledger Live is installed and at version 2.29 or newer (see settings -> about to find out if you're - up to date). -- A web browser is installed that you can use to access - [Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer). - -## Installing the Ledger Application - -### Using Ledger Live - -:::note Ledger Nano S - -There are two versions of the Statemine app: the normal (light) version and the XL version. The -light version has smaller size but it supports only basic functionality. If you want access to all -the supported extrinsics, you need to install the XL version of the app. You can see -[here](https://github.com/Zondax/ledger-statemine) a full list of the extrinsics supported by both -versions. - -::: - -- Open the "Manager" tab in Ledger Live. -- Connect and unlock your Ledger device. -- If asked, allow the manager on your device by pressing both buttons on the YES screen. -- Search for Statemine in the app catalog. -- If you are using a Ledger Nano S, install either the normal (light) version or the XL version. For - Ledger Nano X, there will only be one app available. - -Please proceed to the [usage instructions](#using-on-polkadot-js-apps) below. - -## Using on Polkadot-JS Apps UI - -:::info - -The Polkadot extension doesn't support Statemine Ledger accounts at this point, so you need to add -your account on Polkadot-JS UI as described below. - -::: - -### Adding Your Account - -:::note - -These instructions will guide you on how to add a Ledger account that's **only** available on the -Asset Hub. If you want to use the same Ledger account on both -{{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} **and** the Asset Hub check the -instructions [below](#working-on-relay-chains-and-asset-hubs). - -::: - -[Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer) already has an integration with the -Ledger application so that your device will work with the browser interface after installation. The -functionality is currently gated behind a feature setting that you will need to turn on. - -In order to turn on the interoperability with the Statemine Ledger application, go to the "Settings" -tab in [Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer). Find the option for attaching -Ledger devices and switch the option from the default "Do not attach Ledger devices" to "Attach -Ledger via WebUSB" (**but see note above**). - -![Dropdown selector for allowing Ledger connections in Polkadot-JS Apps UI Settings](../assets/ledger.png) - -Click "Save" to keep your settings. - -Now when you go to the "Accounts" tab you will see a new button that says "Add via Ledger". Ensure -that your Ledger device is unlocked, Ledger Live is **closed** and you have -[switched over](https://support.polkadot.network/support/solutions/articles/65000169778-how-to-switch-network-nodes) -to the Statemine application, then click this button. - -![Add Ledger button in Polkadot-JS Apps UI](../assets/ledger/query-ledger.png) - -A popup will appear asking you to select an account and derivation path. - -![Picking an account and derivation path](../assets/ledger/add-account.png) - -The first option lets you select an account. You can have multiple accounts on a single Ledger -device. The second dropdown lets you pick a derivation path - think of it like a formula from which -child accounts are generated. If in doubt, pick the default option for both. - -Once you confirm your selection, depending on your browser and its security settings, you might need -to confirm the USB connection through a popup like the one below when adding the Ledger device for -the first time: - -![Display the device connection popup](../assets/ledger/query-device.png) - -You should now be able to scroll down and find a new account on the page with the type "ledger". - -![Displaying the Ledger account in the list](../assets/ledger/ledger-balance.png) - -You can now use this account to interact with the Asset Hub on -[Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer) and it will prompt your ledger for -confirmation when you initiate a transaction. - -### Working on Relay Chains and Asset Hubs - -Polkadot and Kusama accounts from the [extension](../general/polkadotjs.md#polkadot-js-extension) -will show up in the Asset Hub, even if they're not set to be used on all chains. The Asset Hub is a -system parachains on {{ polkadot: Polkadot :polkadot}}{{ kusama: Kusama :kusama}} and uses -{{ polkadot: DOT :polkadot}}{{ kusama: KSM :kusama}} as native token. Hence, accounts on a Relay -Chain are also available on each Relay's system chains. What this means is that if you already have -a {{ polkadot: Polkadot :polkadot}}{{ kusama: Kusama :kusama}} Ledger account configured on the -extension, that account will also be available on the Asset Hub. But the opposite is not the case: -an account created specifically on the Asset Hub won't show up on -{{ polkadot: Polkadot :polkadot}}{{ kusama: Kusama :kusama}}. - -**However**, as mentioned above, the -[Polkadot extension](../general/polkadotjs.md#polkadot-js-extension) does not support Statemine -Ledger accounts at the moment, but the Polkadot-JS UI does. So, if your Kusama account is in the -Polkadot extension, you'll need to remove it from there and re-add it on Polkadot-JS UI directly -**as a Kusama account**, as described -[here](https://guide.kusama.network/docs/kusama-ledger#using-on-polkadot-js-apps-ui). After that, -you will be able to make transactions with that account. - -To remove an account from the Polkadot extension: - -1. Open the extension -2. Click on the three dots next to the account -3. Select "Forget account". - -:::info - -As mentioned above, a {{ polkadot: Polkadot :polkadot}}{{ kusama: Kusama :kusama}} Ledger account -will also be available on the Asset Hub. - -::: - -### Confirming the Address on your Device - -On the "Accounts" tab, find your Ledger-connected account. Click on the three vertical dots at the -end of the row. This will open a new menu, here you can click the "Show address on hardware device" -option to display the address on your device. - -![Options menu of an account in the Accounts screen of Polkadot-JS Apps UI](../assets/ledger-4.png) - -Here you can scroll through and make sure the address matches to what is displayed on -[Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer). - -#### Using Polkadot-JS Apps - -Once you have your account loaded on the "Accounts" tab it should show a row with your Ledger -account. At the far right of the row is located your account's DOT balance. If you expand the -balance arrow, it will show details of your balance such as locks or reserved amounts. - -![Account row showing empty balance](../assets/ledger/ledger-balance.png) - -### Sending a Transfer - -If you would like to send a transfer from your account housed on the Ledger device, the easiest -method is to use [Polkadot-JS Apps UI](https://polkadot.js.org/apps/#/explorer). - -:::info Transfers - -Transferring in this way sends tokens to another account on the Asset Hub parachain. If you need to -transfer KSM between the Asset Hub and -{{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }}, see the [Teleporting](#teleporting) -section below. - -::: - -- Click on the "Send" button next to your account. -- In the second input, select one of the accounts from the drop-down menu or paste the address that - you want to transfer funds to. -- In the third input, enter the amount of KSM you want to transfer. -- Click the "Make Transfer" button. -- Confirm the transaction on your device. -- A green success notification will be displayed when the transaction is included in a block. - -:::note The "Transfer with Keep-Alive Checks" toggle - -Note the "Transfer with Keep-Alive Checks" toggle. While this toggle is in the _On_ state, your -account will be unable to make transactions which would get its balance below the existential -deposit. This prevents reaping of accounts with low balances. If you toggle this to _Off_, you will -be able to go below existential deposit balance, causing your account to be deleted and any dust -amount of KSM to be burned. If you encounter KeepAlive errors when making transactions, this might -be the reason. - -A detailed guide on doing transfers is available -[here](./learn-guides-ledger.md#sending-a-transfer-with-ledger-devices). - -::: - -### Receiving a Transfer - -In order to receive a transfer on the accounts stored on your Ledger device, you will need to -provide the sender (i.e. the payer) with your address. - -The easiest way to get your address is to click on the account name which will open a sidebar. Your -address will be shown in this sidebar, along with some other information. Another method is just -clicking on your account's avatar icon - this immediately copies your address to the clipboard. - -:::note Your Asset Hub address is the same as your Relay Chain address - -Make sure that you clarify to the sender that you wish to receive your tokens on the Asset Hub -parachain, otherwise (if you're receiving {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} -tokens) they could be sent on the {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} -chain. - -::: - -:::caution Before giving anyone your address - -Make sure it matches what's really on the Ledger by -[confirming the address on your device](#confirming-the-address-on-your-device). Some malware will -intercept clicks and clipboard requests and can change your copied value in-flight, so being extra -vigilant around copy-paste operations makes sense. - -::: - -### Teleporting - -Teleporting allows you to send tokens between the Relay Chain and a parachain, or between different -parachains. - -The Statemine Ledger app doesn't support the `teleport` extrinsic at this point, so an intermediary -account needs to be created first. - -To teleport KSM to the Relay Chain follow these steps: - -- Create an account outside your Ledger. Instructions can be found - [here](./learn-accounts.md#account-generation). -- Transfer the desired amount as described [above](#sending-a-transfer). If you want to send exactly - the amount you want to teleport, don't forget take into account the fees for teleporting that will - be deducted in the next step. -- Teleport your tokens following the instructions you will find [here](../learn/learn-teleport.md). - -Teleporting **to** a Ledger account from a non-Ledger account doesn't require these extra steps. - -## Support - -If you need support, please visit the [Polkadot Support page](https://support.polkadot.network). diff --git a/docs/learn/learn-guides-ledger.md b/docs/learn/learn-guides-ledger.md index 5dbd176d1ae..9e8165f93f1 100644 --- a/docs/learn/learn-guides-ledger.md +++ b/docs/learn/learn-guides-ledger.md @@ -14,11 +14,17 @@ import MessageBox from "../../components/MessageBox"; import "../../components/M [Polkadot Support Team](https://support.polkadot.network/support/home). For more user-friendly tools see the [wallets](./wallets-index), [apps](./apps-index) and [dashboard](./dashboards-index) pages." /> +The [Ledger devices](../general/ledger.md) are hardware wallets that keep your private key secured +on a physical device not directly exposed to your computer or the internet. + +The [Polkadot Generic application](../general/ledger.md#polkadot-generic-app) allows you to manage +your DOT/KSM on Polkadot/Kusama networks, tokens on their Asset Hubs and possibly all chains within the Polkadot ecosystem. It is versatile and capable of handling parachains and relay chains without being affected by their runtime upgrades. + ## Loading Your Account :::info -Ledger Live should be off while using Ledger with Polkadot-JS UI as it can interfere with normal +Ledger Live should be off while using Ledger with Polkadot-JS UI, as it can interfere with normal operation. ::: @@ -27,7 +33,7 @@ You can import your Ledger account to [Polkadot Extension](https://polkadot.js.o the [Polkadot-JS UI](https://polkadot.js.org/apps/#/explorer). For instructions on how to import Ledger accounts to the Polkadot Extension read through [this support article](https://support.polkadot.network/support/solutions/articles/65000175387-how-to-add-your-ledger-through-the-polkadot-extension), -while if you want to import Ledger accounts to the Polkadot-JS UI you can consult +while if you want to import Ledger accounts to the Polkadot-JS UI, you can consult [this other article](https://support.polkadot.network/support/solutions/articles/65000170812-how-to-add-ledger-account-through-the-polkadot-js-ui). ### Derivation paths @@ -50,15 +56,32 @@ used in Ledger Live, as it only scans through the parent accounts. So, remember the children accounts cannot be viewed, and you will not be able to transact with those accounts on Ledger Live. -### Connecting your ledger device +### Confirming the Address on your Device + +If your Ledger account is directly imported into the Polkadot-JS UI, you can ask the UI to confirm +the address on your Ledger device. There are a few methods to check the balance of your Ledger +account. Check out +[this support article](https://support.polkadot.network/support/solutions/articles/65000169332-where-can-i-see-the-balance-of-my-account-) +for information. + +## Navigating your Account -While using a ledger device to sign transactions, depending on your browser and its security -settings, you might need to confirm the USB connection through a popup like the one below: +Once you have loaded your account on the “Accounts” tab, it should show a row with your Ledger +account. Your account’s DOT balance is on the row’s far right. Expanding the balance arrow will show +your balance details, such as locks or reserved amounts. For more information about the type of +balances, visit the [balances page](./learn-account-balances.md#balance-types-on-polkadot-js). -![Display the device connection popup](../assets/ledger/query-device.png) +## Sending a Transfer with Ledger Devices -If you are adding your Ledger Nano for the first time, click on the "Unknown device" line and the -"Connect" button will become available. +:::danger Verifying Extrinsics + +Visit the +[**dedicated support page**](https://support.polkadot.network/support/solutions/articles/65000179161-how-can-i-verify-what-extrinsic-i-m-signing-#Verify-an-extrinsic-using-Ledger) +and see [**this video tutorial**](https://youtu.be/bxMs-9fBtFk?t=360) tutorial to learn how to +verify extrinsics before signing them. The video will also mention potential attacks that can happen +while signing transactions. + +::: :::info Signature error message @@ -71,45 +94,19 @@ more information about signing transactions using your ledger. ::: -## Confirming the Address on your Device - -To display your {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} ledger account -address on your Ledger Nano, you can follow the guidelines on -[this support article](https://support.polkadot.network/support/solutions/articles/65000181854-how-to-confirm-your-account-address-on-your-ledger-device). -Here you can scroll through and make sure the address matches what is displayed on -[Polkadot-JS UI](https://polkadot.js.org/apps/#/explorer). - -## Checking the Balance of Your Account - -There are a few methods to check the balance of your account. Check out -[this support article](https://support.polkadot.network/support/solutions/articles/65000169332-where-can-i-see-the-balance-of-my-account-) -for information. - -## Sending a Transfer with Ledger Devices - -:::danger Verifying Extrinsics - -Visit the -[**dedicated support page**](https://support.polkadot.network/support/solutions/articles/65000179161-how-can-i-verify-what-extrinsic-i-m-signing-#Verify-an-extrinsic-using-Ledger) -and see [**this video tutorial**](https://youtu.be/bxMs-9fBtFk?t=360) tutorial to learn about how to -verify extrinsics before signing them. The video will also mention potential attacks that can happen -to you while signing for transactions. - -::: - General instructions to send a transfer can be found on [this support page](https://support.polkadot.network/support/solutions/articles/65000170304-how-to-send-transfer-funds-out-of-your-dot-account-on-the-polkadot-js-ui). -To sign transactions with your Ledger nano check +To sign transactions with your Ledger Nano check [this support article](https://support.polkadot.network/support/solutions/articles/65000181994) or see [this video tutorial](https://youtu.be/gbvrHzr4EDY?t=579). ## Receiving a Transfer To receive a transfer on the accounts stored on your Ledger device, you must provide the sender -(i.e. the payer) with your address. To do so, follow the instructions on +(i.e., the payer) with your address. To do so, follow the instructions on [this support page](https://support.polkadot.network/support/solutions/articles/65000181866-how-to-receive-dot-to-my-account-on-polkadot-js-ui). -:::warning +:::caution Sharing your account address Before giving anyone your address, ensure it matches what's on the Ledger by [confirming the address on your device](#confirming-the-address-on-your-device). Some malware will @@ -118,21 +115,24 @@ vigilant around copy-paste operations makes sense. ::: -## Staking +The easiest way to get your address is to click on the account name. This will open a sidebar +showing your address and other information, such as on-chain identity. Another +method is just clicking on your account's avatar icon - this immediately copies your address to the +clipboard. -For staking using Ledger devices, check the section "How to stake using your Ledger" on -[this support article](https://support.polkadot.network/support/solutions/articles/65000168057-how-do-i-stake-nominate-on-polkadot-). +:::note Your Asset Hub address is the same as your Relay Chain address -## Removing Expired Democracy Locks +Make sure that you clarify to the sender that you wish to receive your tokens on the Asset Hub +parachain, otherwise (if you're receiving {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} +tokens) they could be sent on the {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} +chain. -Check out -[this support page](https://support.polkadot.network/support/solutions/articles/65000181870-how-to-remove-expired-democracy-locks) -the learn how to remove democracy locks after the end of a Governance referendum. +::: + +## Staking -**Please be advised**: Despite the Polkadot ledger application being compatible with both the Ledger -Nano S and the Ledger Nano X, some extrinsics are not supported by the light version. The following -[repository by Zondax](https://github.com/Zondax/ledger-polkadot) lists the currently supported -extrinsics on the XL version of the Ledger app. +For staking using Ledger devices, follow the instructions on +[this support article](https://support.polkadot.network/support/solutions/articles/65000168057-how-do-i-stake-nominate-on-polkadot-). ## Ledger Developer Release diff --git a/kusama-guide/docusaurus.config.js b/kusama-guide/docusaurus.config.js index 71e8739e8c4..cc952be1705 100644 --- a/kusama-guide/docusaurus.config.js +++ b/kusama-guide/docusaurus.config.js @@ -98,8 +98,8 @@ module.exports = { from: ['/docs/kusama-statemine'] }, { - to: '/docs/learn-guides-assets-ledger', - from: ['/docs/kusama-statemine-ledger'] + to: '/docs/learn-guides-ledger', + from: ['/docs/kusama-statemine-ledger', '/docs/learn-guides-assets-ledger'] }, { to: '/docs/learn-nominator', diff --git a/kusama-guide/sidebars.js b/kusama-guide/sidebars.js index d420b9c48ef..4652b63485d 100644 --- a/kusama-guide/sidebars.js +++ b/kusama-guide/sidebars.js @@ -374,7 +374,6 @@ module.exports = { }, items: [ "learn/learn-guides-assets-create", - "learn/learn-guides-assets-ledger", "learn/learn-guides-asset-conversion", ], }, diff --git a/polkadot-wiki/docusaurus.config.js b/polkadot-wiki/docusaurus.config.js index a6f90ea19fe..f11cbd815b2 100644 --- a/polkadot-wiki/docusaurus.config.js +++ b/polkadot-wiki/docusaurus.config.js @@ -213,6 +213,10 @@ module.exports = { to: '/docs/learn-offenses', from: ['/docs/maintain-guides-avoid-slashing'] }, + { + to: '/docs/learn-guides-ledger', + from: ['/docs/learn-guides-assets-ledger'] + }, ], createRedirects: function (existingPath) { if (existingPath.startsWith("/docs/")) { diff --git a/polkadot-wiki/sidebars.js b/polkadot-wiki/sidebars.js index ab2cde52ca3..3b2b0742476 100644 --- a/polkadot-wiki/sidebars.js +++ b/polkadot-wiki/sidebars.js @@ -459,7 +459,6 @@ module.exports = { }, items: [ "learn/learn-guides-assets-create", - "learn/learn-guides-assets-ledger", "learn/learn-guides-asset-conversion", ], },