Geth 在最后 80 个区块上卡住同步

Geth stuck syncing on the last 80 blocks

在 Windows 10,在我的命令提示符下,我去

> geth --rinkeby 哪个开始将我的节点与网络同步

在另一个命令提示符下,我去

> geth --rinkeby attach ipc:\.\pipe\geth.ipc

然后

> eth.syncing

这给出了

{

currentBlock: 3500871,

highestBlock: 3500955,

knownStates: 25708160,

pulledStates: 25680474,

startingBlock: 3500738

}

如您所见,我总是比最高区块落后大约 80。我听说这对于测试网来说是正常的。我在 Rinkeby 上创建了一个帐户并通过水龙头请求以太币:https://faucet.rinkeby.io/. I also tried https://faucet.ropsten.be/ 但无法获得以太币。

在 geth 控制台上,我可以显示我的帐户

> eth.accounts

["0x7bf0a466e7087c4d40211c0fa8aaf3011176b6c6"]

并查看我得到的余额:

eth.getBalance(eth.accounts[0])

我不知道这是不是因为我的节点落后于最高节点 80 个区块...?

编辑:可能值得补充的是,我从我的 AppData/Roaming/Ethereum 在我的 C 驱动器上创建了一个符号 link 到我的 D 驱动器上的另一个文件夹,因为我是 运行 space。 (不知道这是否会影响我的同步)

停止geth并重新开始。落后于最高街区是很正常的。对于以太币,如果你真的从水龙头收到了以太币,请检查一次 etherscan。这样你就会知道你从水龙头收到的块高度是多少。然后等到你的 geth 同步到那个块。此外,最好的选择是使用 Quicknode 之类的东西,这样您就不必担心总是保持机器 运行 或等待数小时才能继续开发工作。是的,他们收取少量象征性费用,但对于他们提供的服务而言,这是非常值得的。

我猜你遇到了一个名为 "not sync last 65 blocks"

的问题

Q: I'm stuck at 64 blocks behind mainnet?!

A: As explained above, you are not stuck, just finished with the block download phase, waiting for the state download phase to complete too. This latter phase nowadays take a lot longer than just getting the blocks.

更多信息https://github.com/ethereum/mist/issues/3760#issuecomment-390892894