Import Ledger wallet into JS wallet

Import Ledger wallet into JS wallet
Users who participate in the Polkadot crowdloan using the ledger wallet may have difficulty accessing/claim their reward in Polkadot parachain like Centrifuge CFG, since hardware wallet Ledger is not supported in the Polkadot crowdloan. This guide provides instructions to generate a compatible seed of ledger and import it into a JS wallet, and then users can use the JS wallet to access/claim the reward.

Notes:
Please don’t use ledger for the Polkadot crowdloan, use the JS wallet is highly recommended. There would be potential risks in using this guide since you would use the seed of your ledger in this guide. To minimize the risk, it is recommended to move your ledger assets (if you have a lot of assets in the wallet) to another account, and in the future, you can move the DOT to a separate JS wallet for crowdloan only. Centrifuge is not responsible for any losses from this guide, and your reward is still safe in the ledger wallet, you can wait and there might be other options in the future.

Step 1 - Install tools:

(1). Install git ( https://git-scm.com/downloads ), your computer may already have it installed, run: “git --version” to verify if it is installed.

(2). Install node: use “curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash”, and “nvm install 14.17.0”, and then “nvm use 14.17.0” in your terminal. Run “node -v” to verify if it is installed correctly.

Step 2 - Generate hex private key from ledger seed:

(1). In the terminal, download the tool repo using: “git clone https://github.com/jacogr/substrate-ledger-ed25519.git”

(2). Enter the directory using “cd substrate-ledger-ed25519”.

(3). Install repo dependencies using “npm install”

(4). Generate private key using “npm start “polkadot” “” 0 0”. Here, you should replace with your own ledger seed, like “word1 word2 word3 …. ”.

After you run this command, you will see the output including “ec25519 seed”, keep it for the next step.

Step 3 - Adding the account to polkdot js wallet:

Go to the accounts page of the parachain in the js wallet to recover. For example, if you want to recover Centrifuge : Polkadot/Substrate Portal

Click add account:

Then go to accounts page for the chain where you want to recover ex: Polkadot/Substrate Portal
Click add account

Select Raw seed from the dropdown and replace it with the “ec25519 seed” that you have got from previous step.

Click the “Advanced Creation Options” dropdown menu and select ‘Edwards (ed25519, alternative)’

Check the checkbox and click “Next”, you would get your new wallet with wallet address and you set up the user name and password for this JS account, and then you can use this JS wallet to access the reward in the parachain, you can also backup this wallet.

Finally, here is the video that demos the whole process for your reference:

By DrCAO

4 Likes

Does this work with importing a Ledger seed if you used a passphrase (a 25th seed work)?

Yes you can import the passphrase for a ledger wallet but usually it has 12 or 24 words

Hi, I’m in need of doing this procedure but “Step 3 - Adding the account to polkadot js wallet”, does not seem to work for me. I installed a fresh version of Firefox, and also tried Brave. See screenshot below of the Polkadot/Substrate Portal. There is no Add Account button, only add from QR code is showing available. Consequently I cannot also find advanced options such as add from Raw seed and Advanced Creation Options such as Edwards 25519 alternative.

I also tried the recommended method for account creation, which is to the use the polkadot-js extension. But this also does not appear to have options for raw seed as far as I can tell:

I presently have CFG in a wallet that I cannot access because the Centrifuge Ledger app is no longer available. I have done Step 1 and Step 2 in this article. Any help would be greatly appreciated.

I received how-to from Polkadot support to enable the +Add Account button again:

—Polkadot support—
Some time ago, local in-browser account storage was disabled by default to encourage Polkadot-JS UI users to add their accounts through compatible browser extensions, as they provide better convenience and security. However, you can enable this option manually:

  1. On Polkadot-JS UI, navigate to the Settings tab.
  2. Under “Account options,” choose “Allow local in-browser account storage” instead of “Don’t allow”, and click Save.
  3. Navigate back to the Accounts page, and you’ll see the “+ Account” button appear.
1 Like

Good day Joediddley
Yes, thank you for adding this info.
Let me know if you was able to extract you account. I saw that Talisman wallet also published instruction how to extract the account from Ledger. You can find this instruction on their Github repository.
Please DYOR before use it.

Definitely
Derevation path generate different wallet addresses.
So please pay attention to the derivation path!

Talisman tool you can find here - GitHub - TalismanSociety/ledger-substrate-recover: Offline tool used to recover a substrate ledger account as a JSON file
But please always DYOR and contact Talisman support for detailed steps and support.
Thank you.

The Talisman ledger-substrate-recovery tool worked. I was able to use a ledger mnemonic to create a appropriate json keyfile for the Centrifuge chain using the offline tool. I was then able to import that file into a new Talisman wallet and access the funds. :+1:

1 Like

Glad that this helped you and thanks for the feedback!
If you have any questions feel free to ask us.
Best.