4

我想用geth console. 因此我确实尝试在灯光模式下使用 geth。但是当我使用:

geth console --syncmode light

它卡在块号 0 并且没有开始同步。以下是一些结果:

  • web3.eth.syncing- 错误的

  • eth.blockNumber- 0

我使用的版本是:1.7.3

有人知道我如何强制它开始同步吗?

这是我得到的输出:

WARN [12-01|12:02:28] No etherbase set and no accounts found as default
INFO [12-01|12:02:28] Starting peer-to-peer node               instance=Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9
INFO [12-01|12:02:28] Allocated cache and file handles         database=/root/.ethereum/geth/lightchaindata cache=128 handles=1024
INFO [12-01|12:02:28] Writing default main-net genesis block
INFO [12-01|12:02:29] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Engine: ethash}"
INFO [12-01|12:02:29] Disk storage enabled for ethash caches   dir=/root/.ethereum/geth/ethash count=3
INFO [12-01|12:02:29] Disk storage enabled for ethash DAGs     dir=/root/.ethash               count=2
INFO [12-01|12:02:29] Added trusted checkpoint                 chain name="ETH mainnet"
INFO [12-01|12:02:29] Loaded most recent local header          number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [12-01|12:02:29] Starting P2P networking
INFO [12-01|12:02:31] UDP listener up                          self=enode://56ff89f879fea8caee295e2e60086b5b1d4e56e0a6135a351f35a092cfdbbc9b7c32261396e0be61998b773ba565e8ef05ed1d3cc1ac7e479ebbccefac754b65@[::]:30303
WARN [12-01|12:02:31] Light client mode is an experimental feature
INFO [12-01|12:02:31] RLPx listener up                         self=enode://56ff89f879fea8caee295e2e60086b5b1d4e56e0a6135a351f35a092cfdbbc9b7c32261396e0be61998b773ba565e8ef05ed1d3cc1ac7e479ebbccefac754b65@[::]:30303
INFO [12-01|12:02:31] IPC endpoint opened: /root/.ethereum/geth.ipc

提前致谢!

4

2 回答 2

1

在轻节点开始接收来自完整节点的更新之前,您最多需要等待 10 分钟,我也遇到了这个问题;日志显示大约需要 5 分钟。

于 2018-10-11T03:12:32.593 回答
1

问题是 Geth 完整节点默认不为轻量级节点提供服务。这导致轻客户端找不到任何对等点。

现在,我有两个想法如何解决这个问题。你可能两个都不喜欢:P

  1. 如果您可以访问任何 Geth 完整节点,请使用 运行它--lightserv 90,这会将 90% 的节点带宽用于为轻量级节点提供服务。现在尝试使用admin.addPeer(). 显然,如果您无法访问完整节点,则这是没有选择的。

  2. 如果你不依赖 Geth,你可以试试Parity,它也有一个轻客户端实现,这也不是超级稳定,但 Parity 客户端默认服务器轻客户端。试一试,parity --light看看您是否可以从同行那里获取最新的标头。

披露:我为 Parity 工作。

于 2018-02-08T08:50:54.313 回答