有沒有辦法完全離線創建 tx?也許使用腳本或 cli 命令?
我的意思是離線生成交易本身,假設我事先知道一個 UTXO 有多少比特幣。換句話說,無需向網路查詢 UTXO 餘額。
然後我還需要簽署該 tx,也離線。
最後我可以通過藍牙將簽名的 tx 傳遞給某人,然後他可以開車到 Internet 連接,並廣播 tx。
我很確定沒有錢包可以做到這一點,所以這需要一些特殊的腳本或一系列 cli 命令
假設我事先知道一個 UTXO 有多少比特幣
Bitcoin Core 中的createrawtransaction
tx id
需要和vout
,如果您知道它以及將用於輸出的地址,則可以離線創建交易。然後我還需要簽署那個 tx,也離線
簽名將需要私鑰或帶有私鑰的錢包,具體取決於您喜歡使用哪些 RPC 命令:
signrawtransactionwithwallet
或signrawtransactionwithkey
最後我可以通過藍牙將簽名的 tx 傳遞給某人,然後他可以開車到 Internet 連接,並廣播 tx。
當然。這個有可能。我什至參與了一個可以用來通過簡訊發送比特幣的輔助項目(網際網路不工作,但簡訊工作)。您甚至可以將簽名的交易十六進制編碼為單詞。
相關問答:將單詞解碼為事務十六進制的問題
我很確定沒有錢包可以做到這一點,所以這需要一些特殊的腳本或一系列 cli 命令
許多人使用冷儲存(保持私鑰離線),其中交易簽名是離線完成的。只要您有創建交易所需的資訊,就可以在任何設備或錢包(線上/離線)上創建交易。例如:
tx id
以及vout
您嘗試花費的 UTXO。RPC 創建 PSBT 也需要相同的資訊。我不確定不同錢包的兼容性,因此在一個錢包中創建交易並登錄其他錢包可能會出現問題。但是,我已嘗試在此問答中創建交易並在 Electrum 中籤名:使用比特幣核心在僅限手錶的錢包中創建未簽名的 tx (PSBT),在電子中籤名並使用比特幣核心進行廣播
您可以嘗試一項實驗:
- 打開電子錢包。複製一個交易ID。在資源管理器中打開它。
- 斷開網際網路。
- 打開比特幣核心。
- 創建交易
createrawtransaction
- 轉換為 PSBT
converttopsbt
- 複製結果並在 Electrum Wallet 中載入交易。簽名並複制交易十六進制。
- 關閉所有錢包。在任何線上機器的瀏覽器中打開<https://blockstream.info/tx/push>。
- 廣播此交易