Exchanges

我可以使用用於創建多個 BIP32 地址的 root 來花費屬於這些多個 BIP32 地址的交易嗎?

  • March 23, 2018

我想在 ICO 期間接受來自不同客戶的 BTC,為此,我計劃使用 BIP32 和 BIP39 的組合。

var bip39 = require("bip39");
var bitcoin = require("bitcoinjs-lib");

var mnemonic = 'praise you muffin lion enable neck grocery crumble super myself license ghost';
var seed = bip39.mnemonicToSeed(mnemonic);
var root = bitcoin.HDNode.fromSeedBuffer(seed);

console.log(root.derivePath("m/0'/0/0").getAddress());
//'1AVQHbGuES57wD68AJi7Gcobc3RZrfYWTC'
console.log(root.derivePath("m/0'/0/1").getAddress());
//'1Ad6nsmqDzbQo5a822C9bkvAfrYv9mc1JL'

我可以使用這個助記詞登錄一些預先存在的錢包並將發送到使用根生成的地址的資金轉移到任何其他 BTC 錢包嗎?或者有人可以提出更好的策略嗎?

BIP32 主擴展私鑰可用於派生子地址,但要花費發送到這些子地址的硬幣,您將需要每個單獨地址的私鑰。主 xpriv 密鑰不能花費位於其子地址之一的硬幣。

請記住,通過 BIP32 派生的地址與任何其他地址無法區分。為了使花費任何地址餘額的交易有效,必須由該地址的私鑰簽名

也就是說,好的錢包軟體會在後台為您處理密鑰管理,因此只要派生方案正確,您應該能夠使用 BIP32 和 39 兼容的錢包將發送到您的主 xpriv 密鑰派生地址的資金花掉. 同樣,這將通過派生子地址並使用他們的私鑰簽署交易來完成。

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