如何判断以太坊区块同步是否完成?【Geth】

当使用命令行的Geth来同步以太坊区块链时,一个基本的问题就是 如何查看Geth区块同步过程的状态,以便判断以太坊区块链的同步是否 完成。本文将介绍如何检查Geth的区块同步状态。

1、Geth启动参数

首先需要Geth启动时开启rpc api,因为我们需要使用rpc api调用来 查看区块同步状态。

例如,可以采用如下的命令参数启动geth软件:

1
~$ geth --rpc --rpcapi web3,eth,net,personal

2、进入Geth控制台

另外开启一个终端,然后输入如下命令进入Geth控制台:

1
2
3
~$ geth attach http://localhost:8545
....
>

看到>符号就进入了Geth控制台。

如果希望快速掌握区块链应用的开发,推荐汇智网的 区块链应用开发系列教程, 内容涵盖比特币、以太坊、eos、超级账本fabric和tendermint等多种区块链, 以及 java、go、nodejs、python、php、dart等多种开发语言

3、查看区块同步进度

在Geth控制台可以直接使用web3.js中的web3.eth.syncing 属性来查看当前节点的区块同步进度。例如:

1
2
3
4
5
6
7
8
> eth.syncing
{
currentBlock: 4374446
highestBlock: 4374446
knownState: 1444
pulledState: 1443
startingBlock: 4374446
}

当curentBlock和highestBlock一致时,就表示区块同步成功了。


汇智网原创,转载请标明出处