Bitcoin-Core

如何使用 sqlite3 查看 wallet.dat 文件的內容?還有其他地方可以查找失去硬幣的記錄嗎?

  • August 22, 2022

我想我在我的核心錢包中失去了一些測試網代幣,我不知道是怎麼回事。我這樣做bitcoin-cli -testnet listwallets了,但它沒有顯示任何可供我載入的錢包。但幾週前我在 Core 錢包中肯定有 testnet 硬幣,而且我沒有wallet.dat手動刪除或編輯該文件。

  1. 除了查看我的wallet.dat文件之外,我應該做些什麼嗎?
  2. 我嘗試使用然後打開我的wallet.dat文件,但這會返回一個錯誤程式碼,說明不是數據庫。我在這裡做錯了什麼?如何轉儲文件的內容?sqlite3 wallet.dat``.dump``wallet.dat``wallet.dat

在上面 Pieter 的幫助下(在評論中),我找到了我的測試網硬幣。

CLI 命令listwalletdir應該返回可用的錢包名稱(也位於 中$DATADIR/testnet3/wallets),但我很確定這最初對我不起作用。

您不能使用 CLI 命令listwallets,因為它只列出已載入的錢包。如果錢包存在但尚未載入,則不會在listwallets.

如果您知道錢包的名稱(位於 中$DATADIR/testnet3/wallets),您可以執行bitcoin-cli loadwallet insert_wallet_name,然後錢包應該出現在bitcoin-cli listwallets.

我嘗試使用 sqlite3 wallet.dat 打開我的 wallet.dat 文件,然後使用 .dump 但這會返回一個錯誤程式碼,說明 wallet.dat 不是數據庫。我在這裡做錯了什麼?如何轉儲 wallet.dat 文件的內容?

我的wallet.dat文件是舊版 BerkeleyDB Core 錢包(可以檢查file wallet.dat)而不是非舊版 SQLite Core 錢包,因此顯然無法使用sqlite3.

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