Transactions

線上系統如何檢測發送到其離線(冷)錢包的硬幣?

  • February 27, 2015

比如說,出於安全原因,比特幣企業有一個線上錢包(又名熱錢包),裡面有足夠的硬幣用於日常運營。其餘資金在離線錢包(又名冷錢包或冷庫)中。

線上伺服器如何檢測硬幣何時發送到離線錢包?

這可以(容易嗎?)用 bitcoind 完成還是需要另一個比特幣客戶端?

技術細節可能很有趣,但我認為更重要的是商家如何實現這種功能。

從 0.10.0 版本開始,bitcoind 支持僅監視地址。

以下是發行說明中的文字:

僅手錶錢包支持

錢包現在可以跟踪進出您知道所有地址(或腳本)的錢包的交易,即使沒有私鑰也是如此。

這可用於跟踪付款,而無需在可能易受攻擊的系統上線上使用私鑰。此外,它可以幫助(手動)建構多重簽名交易,您只是其中一個簽名者。

添加了一個新的 RPC,importaddress它的功能類似於 importprivkey,但取而代之的是一個地址或腳本(十六進制)作為參數。使用後,記入此地址或腳本的輸出被視為已收到,消耗這些輸出的交易將被視為已發送。

以下 RPC 對 watch-only 有可選支持:getbalance, listreceivedbyaddress, listreceivedbyaccount, listtransactions, listaccounts, listsinceblock, gettransaction. 有關更多資訊,請參閱這些方法的 RPC 文件。

與使用相比getrawtransaction,這種機制不需要 -txindex,擴展性更好,與錢包的集成更好,並且兼容未來的區塊鏈剪枝功能。不過,這確實意味著所有相關地址都需要在付款前添加到錢包中。

嘗試bitcoin-cli help importaddress(以及上面列出的其他相關命令的幫助文本)以獲取詳細資訊。

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