Bitcoind

顯示的交易可能不正確!

  • January 9, 2014

當我bitcoind getinfo在遠端 ubuntu-Server 上輸入時,我得到了這個答案:

{  
   "version" : 32400,
   ... (some other info)
   "errors" : "WARNING: Displayed transactions may not be correct!  You may need to upgrade, or other nodes may need to upgrade."
} 
  • 什麼地方出了錯?
  • 我該如何解決?

這是我之前做的:

我正在執行一個Ubuntu 12.04 LTS作為作業系統的遠端伺服器。這台機器離我家 800 公里,我通過 SSH 連接到它。所以沒有GUI,我只能使用shell命令。

昨天我安裝了 bitcoind,在升級了所有其他包(apt-get update後跟)之後呼叫了這個 shell-command(當做 root 時apt-get dist-upgrade):

# apt-get install bitcoind

安裝了 bitcoind 和 8 或 10 個其他軟體包。

然後我編輯/root/.bitcoin/bitcoin.conf並輸入了這個:

server=1

daemon=1

rpcuser=[我的使用者名]

rpcpassword=[很長的密碼]

然後我確實通過呼叫來啟動bitcoind

# bitcoind

答案是

比特幣伺服器啟動

但即使在等待超過 5 分鐘後,我也沒有取回 shell(我無法輸入新命令)。所以我按下

Ctrl-C

當我bitcoind再次進入時,我發現它已經在執行:

比特幣:無法獲得數據目錄 /root/.bitcoin 的鎖定。比特幣可能已經在執行。

在關閉並重新打開與伺服器的 ssh 連接後,它也在執行。所以我認為現在一切都好。我還生成了一個執行良好的比特幣地址。

現在,大約 12 或 14 小時後,我重新連接到 ubuntu-server 並進入

# bitcoind getinfo

但答案是

錯誤:無法連接到伺服器

還通過呼叫顯示所有活動程序top向我顯示,bitcoind 沒有執行。所以我通過bitcoind在命令行中輸入再次啟動它,但我再次沒有得到 shell,所以我不得不再次按下ctrl-c. 但是當我bitcoind getinfo在那之後進入時,我得到了我在這篇文章開頭髮布的答案("errors" : "WARNING: Displayed transactions may not be correct! ...

所以這是我的問題:

  1. 什麼地方出了錯?
  2. 我該如何解決?
  3. 如何啟動 bitcoind 並再次返回 shell?
  4. 我怎樣才能停止比特幣?(我只是可以殺死程序,我不知道還有什麼辦法)

編輯1:

(2014-01-08;晚上)

關於停止 bitcoind:我發現命令是bitcoind stop. 但是當我昨天嘗試這個時,我得到了一個錯誤(對不起,不記得確切的錯誤資訊。我猜它說“未知命令”,但我不舒爾)


編輯2:

(2014-01-09;上午)

昨天我停止了 bitcoind 並刪除了目錄 /root/.bitcoin/ 中的所有內容,除了 wallet.dat 和 bitcoin.conf。然後我又開始了bitcoind。即使在大約 8 小時後,它仍然可以正常工作。有時響應命令需要大約 20 秒bitcoind getinfo,但 bitcoind 總是給出預期的答案,沒有任何錯誤消息。

所以我去睡覺了,今天早上我再次登錄到我的伺服器,我發現 bitcoind 沒有執行(答案bitcoind getinfoerror: couldn't connect to server)。

所以我用命令開始它bitcoind。答案是bitcoin server starting,但我沒有取回 shell(我無法輸入新命令)。所以我打開了第二個 shell 並進入了bitcoind getinfo那裡,幾秒鐘後伺服器響應了一個帶有空錯誤字元串的 status-json-object(這意味著:沒有錯誤)。所以我認為開始是成功的。但是第一個外殼(我確實啟動了 bitcoind)仍然掛起,因為現在已經超過 30 分鐘了。

您正在執行 bitcoind 0.3.24。這是一個非常舊的版本,無法在當今的比特幣網路上正常工作。最新版本是 0.8.6。

看來 Ubuntu 維護者沒有更新標準 12.04 儲存庫中的 bitcoind 版本;所以你必須從其他地方獲得目前版本。Ubuntu 開發人員維護自己的比特幣儲存庫,因此您可以通過執行以下操作安裝最新版本:

sudo add-apt-repository ppa:bitcoin/bitcoin 
sudo apt-get update
sudo apt-get install bitcoind

您還可以通過訪問<http://bitcoin.org/en/download>並點擊“Ubuntu (PPA)”連結從“官方”來源獲取這些說明。

在回答您的另一個問題時,當您bitcoind不帶參數執行時,它會在前台執行並接受標準輸入上的命令(在啟動時延遲一兩分鐘後)。您可以通過鍵入退出它stop。您也可以通過 do 在後台執行它bitcoind -daemon,然後通過執行bitcoind getinfo等向它提供命令。

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