Is it possible to create a subaccount for a Ledger Hardware Wallet that is connected to the NNS? If not, why was this feature not added and can we please add it asap?
The app on the Ledger device supports it already, and it is also supported by the CLI tooling. It is planned to add support in the NNS frontend dapp as well, but this is delayed due to the current rewrite that the team has taken on.
Thanks for the quick response, is there documentation or a guide around how to do that right now?
Apps for Ledger support-
Ledger Compatible Services
- Ledger Live More details. Wallet.
- MyEtherWallet More details. Wallet.
- Metamask More details. Wallet.
- MyCrypto More details. Wallet.
- Binance DEX More details. DEX.
- IDEX More details. DEX
- Kyber Network More details. Swap.
- Paradex More details. DEX.
Accounts in Ledger Live have separated balances to provide flexibility in managing your crypto assets. You can add multiple accounts for each crypto asset and give them a name for different purposes (e.g. trading, checking, savings, etc.).
Regards,
Rachel Gomez
At this point, there is no documentation on that CLI tool linked above beyond the help messages you get when you invoke it – it is not (yet) an officially supported tool.
But is it safe to use already? Can you use it with a significant amount of ICP at stake or is this something you wouldn’t advise doing?
Also I don’t see an option in the CLI to change the address
Sorry – that was a misunderstanding on my side. I thought we had added that already – but you’re right in that it is not there. Apologies for that.
It would be relatively easy to add it on the CLI, though. It may take longer for it to be added to the NNS frontend dapp.
Can you push this up the agenda a bit? Right now I have to buy another ledger if I want a different address, which becomes a bit expensive in the long run
Thanks!
This PR adds support for specifying a subaccount in the CLI. I hope it helps
very cool, thank you! looking forward to support on the frontend as well
Couple of questions after testing this for a bit:
- Why do I get a new principal when calling
./ic-hardware-wallet-cli --subaccount 1 info
in comparison to./ic-hardware-wallet-cli --subaccount 0 info
. I was expecting to just getting a new derivedsubaccount
from myprinicpal
which is fixed. I think this is not the correct way to get a subaccount, you probably derive a new key from the ledgerseed
instead and then again return the balance foraccount
0 of that principal. This is a very nice feature as well, but it should have a different name, maybe--principal
? And then you should be able to specify both options, e.g.--principal 2 --subaccount 3
would give me the the subaccount 3 of the derived principal 2. - It seems like the
--subaccount
option has no impact on theicp
command, it doesn’t matter wether I call./ic-hardware-wallet-cli --subaccount 0 icp balance
or./ic-hardware-wallet-cli --subaccount 1 icp balance
, the address stays the same.
I implemented a fix for this. I added the same restriction you added for deriving new principals, so right now only subaccounts 0-255 can be used. idk if you feel like this restrictions is necessary for subaccounts, it’s up to you
@cryptoschindler Thanks for your comments and for the fix. You are correct on both accounts (no pun intended ) . My PR derived new principals rather than new subaccounts. I’ll be taking a looking at the PR and we can continue the conversation on Github.