Go-Ethereum

乙太坊部署問題

  • July 24, 2018

我在筆記型電腦上部署了一個私有版本的乙太坊。

我正在使用此程式碼進行部署:

geth –-identity "blockdb" –-rpc -–rpcport "9040" --rpccorsdomain "*" –-rpcapi "db,eth,net,web3" –-datadir "c:\\blockchain" –-port "30303" –-nodiscover –-networkid 76543 console

這個起源:

{
"config": {  
   "chainId": 76543, 
   "homesteadBlock": 0,
   "eip155Block": 0,
   "eip158Block": 0
              },
"difficulty": "0x4000",
"gasLimit": "0x8000000",  
"alloc": {}
}
}

區塊鏈似乎部署得很好,因為它給了我相同的鏈 ID,我打開 Mist(不更改 ysettings)並可以看到我創建的錢包。Miner.start() 也有效。我看到來自採礦的乙太幣。我可以看到我創建的錢包以及自上次區塊以來的分鐘數。但狀態始終保持連接。

在此處輸入圖像描述

我的問題如下:

1)當我關閉控制台並重新啟動它時,要重新啟動節點,我再次使用上述命令。那是對的嗎?因為:

2)當我重新啟動時,我可以看到之前創建的錢包,看不到乙太幣。乙太失去了。他們都從0重新開始。為什麼會這樣?

3)我正在嘗試通過使用乙太坊和乙太坊錢包與區塊鏈進行“外部”互動。在這兩個應用程序中,我都可以看到錢包及其餘額。但我無法創建新錢包、部署合約或轉移乙太幣。

如果你優雅地關閉 Geth 應該沒問題 (Ctrl + D)。我有一種預感,你正在強行殺死它。

從 Geth 1.8.0 開始,我們不會立即將所有內容推送到磁碟,而是將狀態保留在記憶體中一段時間(使用最新程式碼進行 1 小時的塊處理)。這極大地減少了磁碟使用量。但是,這也意味著如果您在 Geth 將數據推送到磁碟之前將其殺死,您將需要重新同步該部分。

現在,如果您只有一個節點,那就有問題了,因為沒有人可以同步。請確保你總是優雅地終止 Geth 而不是殺死它。

引用自:https://ethereum.stackexchange.com/questions/54756