Transactions

使用 bcoin 庫從錢包硬幣 (UTXO) 創建交易

  • July 16, 2019

我有一個多重簽名設置,其中籤名是通過外部 HSM 完成的。我正在使用 Bcoin 及其錢包來接收資金。我要做的是創建一個事務並使用 HSM 對其進行簽名。有2種方法:

  1. 使用 MTX 手動創建交易。
  2. 使用錢包創建交易。

方法#1 解決了我的問題。程式碼甚至顯示在這裡。但是,這種方法有一個很大的缺點。它要求我創建硬幣。這意味著,我需要手動創建 VOuts 和 VIs。這意味著我需要獲取我的 UTXO 集並選擇交易所需的那些。這是非常乏味且容易出錯的。

方法#2 解決了這個問題。使用錢包時,createTx()將為您創建交易,從該錢包的 UTXO 集中選擇 VOuts 和 VIs。但是,這種方法的問題在於createTX()簽署交易。我不希望這樣,因為簽名需要由其他來源完成。

那麼,有沒有辦法讓我在不簽名的情況下從錢包中獲取原始交易? MTXtoRaw()給出原始交易的方法。有什麼方法可以讓錢包創建交易,或者至少創建 VOut/Vin 集?

謝謝你。

createTX()不簽署交易。這是由sign()in執行的wallet.js。如果您的私鑰無論如何都處於離線狀態,您會得到什麼樣的意外行為createTX()?沒有鑰匙就不能簽字……?

最近還合併了新功能以在輸入腳本被模板化之前返回 MTX (當公鑰被序列化並添加到見證時):https ://github.com/bcoin-org/bcoin/pull/557我是不確定這是否有助於您的案例。

您也可能對我們自己的多重簽名錢包 bmultisig 感興趣:https ://github.com/bcoin-org/bmultisig

此應用程序“插入”到標準 bcoin 錢包(和完整節點)並提供硬體支持,例如從 Ledger 設備簽署交易。當然,每個交易對手都可以在自己方便的時候使用自己的硬體設備進行簽名。

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