Wallet

從比特幣核心中的 xpub 密鑰創建多重簽名錢包

  • June 21, 2021

我可以使用 2 個 xpub 密鑰創建多重簽名錢包電子。

我怎樣才能創建比特幣核心來做到這一點?

標準使用;從 2 個地址添加一個多重簽名地址

bitcoin-cli addmultisigaddress 2 “["16sSauSf5pF2UkUwvKGq4qjNRzBZYqgEL5","171sgjn4YtPu27adkKGrdDwzRTxnRkBfKV"]”

有沒有辦法喜歡;

比特幣-CLI addmultisigaddress 2“[\”tpubDAenfwNu5GyCJWv8oqRAckdKMSUoZjgVF5p8WvQwHQeXjDhAHmGrPa4a4y2Fn7HF2nfCLefJanHV3ny1UY25MRVogizB2zRUdAo7Tr9XAjm \“,\”tprv8erNzbjXdtYpKbKF4HeZpBCQj2W64MS2SAJCcWxgqLueSZ9KLTPZGoDTu8NugecLLqeS2RYan2f6qcexUTjp3m2HGxmpAiP48BaUz7XHxzQ \“]”

在即將發布的比特幣核心 0.18 版本中,這幾乎是可能的。

首先,您需要了解這種成對的多重簽名地址的序列(具有從 2 個 xpub 同步生成的公鑰)可以用新的描述符語言來描述。

語法是sh(multi(2,XPUB/*,XPUB/*)). sh表示 P2SH 嵌入,multi指的是 multisig,表示2需要 2 個簽名,兩個 XPUB 參數是從中提取公鑰的內容。

由於描述符旨在對人類通信安全,因此在某些情況下它們需要校驗和。可以使用getdescriptorinfoRPC 命令計算此校驗和,該命令將附加一個#CHECKSUM後綴。

一旦你有了描述符,你就可以用它做很多事情。一種是使用 確定對應的地址deriveaddresses

bitcoin-cli deriveaddresses "DESC" [0,1000]

將為您的描述符提供前 1001 個地址(使用索引為 0 到 1000 的鍵)。

您還可以使用靈活的 RPC 一次性將它們導入錢包,該importmultiRPC 在 0.18 中已擴展為支持描述符。

bitcoin-cli importmulti [{"desc" : "DESC", "range" : [0, 1000], "watchonly" : true, "timestamp" : "now"}]

將導入前 1000 個地址,以及辨識向它們付款所需的所有資訊,並簽署支出它們(當然不包括私鑰)。

  • watchonly表示您知道私鑰失去,但無論如何都希望按觀看的方式導入。
  • 表示這些timestamp密鑰可能第一次被使用。"now"意味著您知道密鑰尚未使用(或者您不關心它們的歷史);或者,您可以將時間戳作為自 UNIX 紀元以來的秒數來指定出生時間。

請注意,這不會在前 1000 個地址被消耗時自動監視它們——您需要一個新的導入命令(目前)。

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