Bip32-Hd-Wallets

如何從擴展私鑰導入 HD 錢包

  • April 9, 2019

我想從我的 Electrum HD 錢包中導出一個派生的私鑰,並將其用作 Mycelium 錢包中的 HD 錢包主密鑰。

我曾經bx得到這樣的密鑰(m/2'/0)(從default_wallet JSON中提取m的未加密密鑰在哪裡):xprv

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

並使用“添加無關帳戶/掃描”掃描 Mycelium 中生成的 QR 碼。

錢包可以工作,但它被視為“單地址”錢包,而不是高畫質錢包。我假設派生的 xprv 可以用作派生更多密鑰的主密鑰,因為它包含鏈碼。不是這樣嗎?

此外,菌絲體“添加無關帳戶”螢幕顯示

掃描比特幣地址、私鑰或 HD-Account。

“HD-Account”是什麼格式?是WIF嗎?

**更新:**為了清楚起見,我想要的關鍵是在 Mycelium 中擁有一個 HD 帳戶,其中有一個從我的 Electrum HD 錢包派生的主密鑰。

這樣做的目的是只記住一個種子——Electrum 錢包的種子。如果我的手機丟了,或者我的 Mycelium 錢包被盜,我只需要從我的 Electrum 主密鑰中再次派生它的主密鑰,重建錢包密鑰,拿走錢就跑。而且由於 Mycelium 主密鑰是經過加固的,即使主公鑰洩漏,我也不必擔心樹的其餘部分會受到損害。

根據Christopher GurneeWizard of Ozzie的回答,我可以建構一個圖表以使其更加清晰:

兩級高畫質錢包路徑

**更新 2:**更新圖表以匹配 Mycelium 處理導入的擴展私鑰的行為。

對澄清的第一部分的回應

你已經很接近了,我懷疑你想要像這樣更簡單的東西(然後輸入你從 Electrum 2.x(未加密)錢封包件中提取的 xprv):

bx hd-private --index 2 --hard | qrencode -o - | feh -

特別是,不要包括bx hd-to-wif步驟,這可能是讓你絆倒的原因。

當您在 Mycelium 中執行導入/添加新帳戶(需要 2.3.0+)時,請確保您選擇了高級選項,然後進行掃描。

完成後,生成的鍵/地址將沿著 m/2’/c/i.[1] 的路徑

如果您需要進行恢復(即如果您失去了手機),您可以將您導入 Mycelium 的相同 xprv 導入 Electrum 中的新錢包(使用恢復錢包選項)。它可能沒有記錄在案,但 Electrum 2.x 在還原期間也會接受 xprv,然後它將生成與 Mycelium 用於導入的 xprv 的相同 c/i 路徑。

我還沒有測試過任何這些……在依賴它之前測試它!

對原始第一部分的回應

(這與澄清的問題幾乎無關)

要回答您問題的第一部分:

Electrum 2.x擴展主私鑰可以直接導入導入Mycelium for Android(2.3.0+版本),無需轉換或路徑推導。這將導致在 Electrum 2.x 和 Mycelium 中生成相同的地址列表。原來你只是想多了這個問題;-)

這意味著您可以直接執行qrencode -o - | feh -並粘貼您提取的 xprv。

有關錢包間兼容性的更多詳細資訊,請參見:https ://bitcointalk.org/index.php?topic=1000544.0 。對於導出/導入 xprv 的特定情況,您可以查看引用的電子表格中的第三個選項卡。

順便說一句,它們兼容的原因並不明顯。兩者都使用 BIP-32,但是(正如 Ozzie 嚮導已經指出的那樣)Mycelium 使用 .[1] 的路徑m/44'/0'/a'/c/i,而 Electrum 2.x 使用m/c/i.[1]的路徑

使它們兼容的原因是 Electrum 2.x 在根位置導出主密鑰,但是 Mycelium 假定密鑰是在該m/44'/0'/a'位置導出的。然後,Mycelium 通過將附加路徑附加到導入的密鑰來派生密鑰,該路徑與 Electrum 附加到其根密鑰 ( ) 的路徑c/i完全相同。一張圖可能更清楚: c/i``m``Electrum 2.x: m/c/i Mycelium: m/44'/0'/0'/c/i ^^ key being exported/imported

[1]:

a = 帳戶索引

c = 0 表示外部,1 表示內部(更改)

i = 鍵/地址索引

’ 表示硬化

引用自:https://bitcoin.stackexchange.com/questions/37013