Wallet

重新啟動後,加密錢包如何保留“getnewaddress”和密鑰池中使用過的密鑰?

  • December 16, 2012

我正在閱讀有關錢包加密的 wiki, 並且對如何按照此處所述呼叫 getnewaddress以及在重新啟動 bitcoind 後跟踪的位置感到困惑。

當錢包被加密時,需要密碼來充值密鑰池,因此,如果很少輸入密碼,密鑰池可能會用完。在這種情況下,將使用預設密鑰作為挖礦支付的目標,呼叫 getnewaddress 和 getaccount address 將返回錯誤。為了防止這種情況,當使用正確的密碼呼叫 walletpassphrase 和呼叫 topupkeypool(錢包解鎖時)時,會自動重新填充密鑰池。請注意,當使用來自池的新密鑰並且錢包被解鎖(或未加密)時,密鑰池會在各種情況下繼續充值。

當錢包密碼加密啟用時,密鑰池中任何未使用的密鑰都會被刷新(標記為已使用)並添加受加密保護的新密鑰。因此,請對您的錢包進行新備份,以便在需要訪問您的備份時能夠從新密鑰池中恢復密鑰。

你不能無限次地呼叫它。事實上,使用預設設置,第 101 次呼叫將失敗。

雖然控制比特幣的私鑰是加密的,但與這些密鑰對應的地址卻沒有。

Getnewaddress 只是將 wallet.dat 中的私鑰標記為正在使用(或者更具體地說,從密鑰池中刪除該地址)並在響應中返回該地址。

因此,在呼叫 getnewaddress 之前,私鑰已經存在於 wallet.dat 中。

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