Watch-Only

如何在僅限手錶的錢包中創建未簽名的 tx?

  • July 14, 2021

**更新:**問題已解決,我已經提到了使用比特幣核心在僅限手錶的錢包中創建未簽名的 tx (PSBT) 中的步驟,在電子錢包中籤名並使用比特幣核心進行廣播

以下是我遵循的步驟,但無法創建未簽名的 tx。我什至不確定在這種情況下可以使用哪些輸入以及如何添加輸入。

創建一個僅限手錶的錢包

第1步

在“發送地址”中添加一個地址

第2步

在“接收地址”中看不到任何內容,也沒有添加選項

第三步

打開控制台並執行以下命令添加一個地址

importaddress tb1qu2l4n8st9w3hhsxstd8muaxgnu63fql9rkylmd "receivetesting" false

重新掃描區塊鏈以更新

rescanblockchain 1800000 1834770

可以在“收貨地址”和余額中看到地址

第四步

我如何創建一個未簽名的 tx,因為我收到以下錯誤並且在可用餘額或輸入中看不到任何內容?

考慮一下我從冷儲存中添加了一個地址來查看餘額的場景,現在想創建一個未簽名的交易,然後我將在另一台機器上簽名(離線)

在僅限手錶的錢包中接收和發送地址也令人困惑。目前不確定我們如何才能使其至少在 GUI 中更容易理解。

錯誤

我在 reddit 上發現了與同一問題相關的問題,但不明白它是如何解決的:https ://www.reddit.com/r/Bitcoin/comments/ir308h/watch_only_balance_not_spendable_in_bitcoin_core/g4w3svg/

嗨,這是 reddit 文章中的moral_agent。

<https://www.reddit.com/r/Bitcoin/comments/ir308h/watch_only_balance_not_spendable_in_bitcoin_core/g5gg33f/>

我不知道這是否會幫助你,但我會告訴你是什麼幫助了我,我認為我做錯了什麼。

為了創建一個只花費觀察輸出的 PSBT,導入輸出的地址並不總是足夠的。

對於付費腳本雜湊地址,您還需要導入輸出的腳本。這是有道理的,因為創建有效的 P2SH 交易需要您包含(並滿足)腳本。您的冷簽名錢包只需要提供簽名,而不是腳本,因此 PSBT 需要包含該資訊,因此您的熱電腦必須擁有它才能創建 PSBT。

我能夠通過 importmulti 導入所需的腳本。我實際上沒有導入腳本,我導入的腳本描述符是這樣的:

importmulti “[{ “desc”: “sh(multi(2,BLAH-BLAH-HEX))” }]

我沒有檢查錯誤的語法,所以你自己在那裡。Importmulti 需要一堆參數,其中大部分是可選的。

我通過在最初生成地址的電腦上的地址上執行 getaddressinfo 獲得了我試圖從中花費的地址的輸出描述符,因此知道腳本是什麼。

希望有幫助。讓我知道你是否成功!

我想你可以在這裡找到關於未簽名 TX 和 PSBT 錢包和資源的解決方案: https ://github.com/encryptdr/EnkryptWallet 錢包支持未簽名比特幣交易

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