Skip to main content
Tweeted twitter.com/StackBitcoin/status/1115404118842068993
replaced http://bitcoin.stackexchange.com/ with https://bitcoin.stackexchange.com/
Source Link

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher GurneeChristopher Gurnee and Wizard of OzzieWizard of Ozzie, I could build a diagram to make it more clear:

Two-level HD wallet paths

UPDATE 2: Updated diagram to match Mycelium's behavior of treating imported extended private keys.

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher Gurnee and Wizard of Ozzie, I could build a diagram to make it more clear:

Two-level HD wallet paths

UPDATE 2: Updated diagram to match Mycelium's behavior of treating imported extended private keys.

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher Gurnee and Wizard of Ozzie, I could build a diagram to make it more clear:

Two-level HD wallet paths

UPDATE 2: Updated diagram to match Mycelium's behavior of treating imported extended private keys.

edited tags
Link
Nick ODell
  • 29.5k
  • 11
  • 73
  • 132
added 162 characters in body
Source Link
sevcsik
  • 183
  • 1
  • 7

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher Gurnee and Wizard of Ozzie, I could build a diagram to make it more clear:

enter image description hereTwo-level HD wallet paths

UPDATE 2: Updated diagram to match Mycelium's behavior of treating imported extended private keys.

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher Gurnee and Wizard of Ozzie, I could build a diagram to make it more clear:

enter image description here

I'd like to export a derived private key from my Electrum HD wallet, and use it as a HD wallet master key in a Mycelium wallet.

I used bx to get the key like this (m/2'/0) (where m is the unencrypted xprv key extracted from default_wallet JSON):

$ cat m | bx hd-private --index 2 --hard \
        | bx hd-to-wif | qrencode -o - | feh -

And scanned the resulting QR code in Mycelium using the "Add Unrelated Account/Scan".

The wallet works, but it's treated as a "single-address" wallet, not a HD wallet. I presumed that the derived xprv can be used as a master key for deriving more keys, since it contains the chaincode. Is that not the case?

Also, the Mycelium "Add Unrelated Account" screen says that

Scan Bitcoin address, private key or HD-Account.

What format does "HD-Account" mean? Is it WIF?

UPDATE: To make it clear, the key thing I want is to have a HD account in Mycelium, whith a master key derived from my Electrum HD wallet.

The purpose of this is to have only one seed to remember store - the seed of the Electrum wallet. If my phone is lost, or my Mycelium wallet is compromised, I only have to derive it's master key again from my Electrum master key, reconstruct the wallet keys, take the money and run. And since the Mycelium master key is hardened, I don't have to worry about the rest of the tree being compromised, even if the master public key leaks.

Based on answers of Christopher Gurnee and Wizard of Ozzie, I could build a diagram to make it more clear:

Two-level HD wallet paths

UPDATE 2: Updated diagram to match Mycelium's behavior of treating imported extended private keys.

removed an extra step to match the diagram
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading
don't use our fragile brains for storage!
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading
added justification, diagram
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading
deleted 4 characters in body
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading
edited tags; edited body
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading
edited title
Link
sevcsik
  • 183
  • 1
  • 7
Loading
Source Link
sevcsik
  • 183
  • 1
  • 7
Loading