Wallet

如何離線恢復確定性錢包?

  • March 12, 2022

我知道在電子的情況下有一個間隙限制,它將繼續生成地址,直到它找到多個等於間隙限制的連續空地址。

如果我想離線使用我的種子恢復我的錢包,假設電子伺服器不工作並且我想恢復我的錢包怎麼辦。electrum 如何知道何時停止生成地址,並指出由於伺服器已關閉,它無法訪問區塊鏈。

假設一個符合BIP-32的HD 錢包也符合BIP-39BIP-44

接下來讓我們假設,當您第一次配置符合 BIP-39 標準的 HD 錢包時,它為您提供了以下一組詞,用於重構您的主種​​子:small cereal crazy ahead move never galaxy draft draw plunge sort identify embark clerk hard wagon clever torch cruel income episode any debris puppy. 此外,我們還假設錢包要求您輸入一個額外的與 BIP-39 相關的加鹽密碼,該密碼將設置為I'mAbadASS用於討論目的。

m通過發出以下比特幣資源管理器(bx)命令,可以獲得上述情況的 512 位根種子:

% echo "small cereal crazy ahead move never galaxy draft draw plunge sort identify embark clerk hard wagon clever torch cruel income episode any debris puppy" | bx mnemonic-to-seed -l en -p "I'mAbadASS" c64364d5a4175ff506620c3b788633063a2b3808579cd0f074503a365d283fc3a0b50d98f1293828e868e865054eff94261c206d35138689ce97efef9ada9c

符合 BIP-44 的 HD 樹使用該m/purpose'/coin_type'/ account'/change/address_index約定來派生私鑰和相關地址。然後假設錢包只有一個賬戶 0。對於比特幣,coin_type 私鑰樹看起來像 m/44’/0’/0’/c/i 其中 c 可以是0 或 1,而 i 是使用的索引合成第 i 個擴展私鑰、第 i 個擴展公鑰或地址。

m/44’/0’/0’/1/0 可以合成如下:

% echo $root_seed | bx hd-new | bx hd-private -i 44 -d | bx hd-private -i 0 -d | bx hd-private -i 0 -d | bx hd-private -i 1 | bx hd-private -i 0 xprvA3zHj8cyzFJiKAXiqdLqrdjUvMqdxUbrpSpDGfxHA15uk2j3fUknu2GN6rSYpPc3QDhALvLBNtKfNGQTLYLNFJD5FKnuFbDPRoBp5TAHFba

從上面得到的擴展私鑰(ext_prv_key)可以找到對應的公鑰和私鑰。

% echo $ext_prv_key | bx hd-to-address

1BLQ28VdYxJ4Y89fjpbNP5ihUvy2hMkGgq

然後通過在連接到 Internet 的電腦上發行來確定是否有任何資金已發送到上述地址,% bx fetch-balance 1BLQ28VdYxJ4Y89fjpbNP5ihUvy2hMkGgq或者在您離線的私人電腦上為您的 bx 提供一個非常新鮮的比特幣伺服器全節點伺服器。

如果存在資金,要獲取私鑰以導入另一個錢包,請嘗試:

% echo $ext_prv_key | bx hd-to-wif

L3KsdTwat69cMtLTJE4W2G77SgazLGqhzfvMkYQsuwMC96tr3Tj8

qrencode命令可以直接接收上方的管道文本輸出,為智能手機或基於平板電腦的錢包合成 QR 圖像,以便從保留網路氣隙的離線密鑰合成電腦輕鬆導入。

% echo $ext_prv_key | bx hd-to-wif | qrencode -o QRwif.png

請參閱how-to-import-a-hd-wallet-from-an-extended-private-key了解更多 Electrum 特定細節。

我認為它會假設所有地址都是空的並且只生成“gap”數字

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