Go-Ethereum

如何檢查我在 Geth 1.5.5、Raspberry Pi 3 上的同步狀態

  • July 7, 2019

在樹莓派 3 上執行 Geth 1.5.5 節點。當我輸入

sudo systemctl status geth

我會得到不斷變化的時間和塊資訊。很好,但是我怎麼知道我什麼時候同步了?我應該做另一個 sudo 命令嗎?

繼續研究,需要進入geth節點控制台輸入特殊命令。以下作品:

geth attach

將使用者發送到 geth 節點控制台。

eth.syncing

產生類似於目前塊的結果:82,100;最高區塊 2,910,032。

exit

返回到 Pi 提示符。

執行正常的 geth –fast 命令後,您可以打開一個新視窗並執行“geth attach”命令,因為這會將您附加到 javascript 界面

$ geth attach

然後你可以使用這個腳本來很好地輸出正在發生的事情。這是非常基本的,但非常適合讓您了解您還需要等待多長時間。首先等待 10 秒(因為第一個 ETA 不正確),然後在第二次顯示估算值後,您將開始看到實際數字。

var lastPercentage = 0;var lastBlocksToGo = 0;var timeInterval = 10000;
setInterval(function(){
   var percentage = eth.syncing.currentBlock/eth.syncing.highestBlock*100;
   var percentagePerTime = percentage - lastPercentage;
   var blocksToGo = eth.syncing.highestBlock - eth.syncing.currentBlock;
   var bps = (lastBlocksToGo - blocksToGo) / (timeInterval / 1000)
   var etas = 100 / percentagePerTime * (timeInterval / 1000)

   var etaM = parseInt(etas/60,10);
   console.log(parseInt(percentage,10)+'% ETA: '+etaM+' minutes @ '+bps+'bps');

   lastPercentage = percentage;lastBlocksToGo = blocksToGo;
},timeInterval);

這將為您提供類似於此的輸出:

85% ETA: 573 minutes @ 134.4bps
86% ETA: 533 minutes @ 144.3bps
86% ETA: 442 minutes @ 173.9bps

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