Blockchain 本地节点(Geth)无法从TestNet同步

Blockchain 本地节点(Geth)无法从TestNet同步,blockchain,solidity,get-headers,blockchain.info-api,Blockchain,Solidity,Get Headers,Blockchain.info Api,尊敬的所有区块链专家: 我使用Geth创建了一个本地节点,这是启动命令 geth--testnet--rpc--rpcaddr“localhost”-rpcport“8545”--rpcapi“web3,eth,net,personal”--rpccorsdomain“*”--datadir./data”--identity“localnode”--fast 当本地节点启动并运行时。我立即创建了两个个人帐户,并将其存储到Keystore文件夹中 然后,我通过元掩码将以太从我的Testnet帐

尊敬的所有区块链专家:

我使用Geth创建了一个本地节点,这是启动命令

  • geth--testnet--rpc--rpcaddr“localhost”-rpcport“8545”--rpcapi“web3,eth,net,personal”--rpccorsdomain“*”--datadir./data”--identity“localnode”--fast
当本地节点启动并运行时。我立即创建了两个个人帐户,并将其存储到Keystore文件夹中

然后,我通过元掩码将以太从我的Testnet帐户转移到本地节点的帐户。这里很奇怪的一点是,我仍然可以看到本地节点的帐户值为零

我甚至删除了chaindata文件夹并重新启动了geth客户端控制台

敬请指教,不胜感激


谢谢。

不幸的是,您已成功地将本地GEth同步到另一个网络,而不是您检查以太的网络

发生这种混淆是因为对Ropesten网络的攻击已被某些节点纠正,但其他节点仍拥有旧数据。当您运行命令时:

geth--testnet--rpc--rpcaddr“localhost”-rpcport“8545”--rpcapi“web3,eth,net,personal”--rpccorsdomain“*”--datadir./data”--identity“localnode”--fast

您没有在命令中指定要连接到的任何特定节点。您错误地连接到了仍在旧的不推荐的过时网络区块链数据上运行的节点

并且删除“chaindata”文件夹不会通知GEth尝试使用其他节点。因为,它将从文件夹“nodes”中拾取相同的节点

要选择与之同步的新节点,您必须:

  • 删除“节点”文件夹,并指定要更新的节点 由GEth使用“-bootnodes”选项使用
  • 或者,即使在同步之后,也可以使用命令“admin.addPeer”()添加节点enode://ADDRESS@IP:PORT')”。这是在您使用“Geth attach ipc:/home/developer/.ethereum/testnet/Geth.ipc”连接到终端中的Geth之后
但是,由于没有明确列出哪些节点已被分叉和更新以纠正黑客行为,并且由于许多其他问题,如完整网络节点的大尺寸,我建议使用奇偶校验连接到正确的Ropsten节点的网络

要使用奇偶校验,我建议以下链接之一:

  • 或:

所以,多亏了平价!您可以通过运行“--chain”轻松指定所需的网络:
奇偶校验--chain-ropsten”

谢谢您提供的信息,我将尝试奇偶校验。但是,我更熟悉Geth。我认为Geth是客户最好的语言?欢迎您。实际上,Geth不是一种语言。以太坊是用GO语言实现的,它有一个命令行工具。如果您喜欢或需要我们Geth,您仍然可以使用它。但是,在您的情况下,因为您没有真正与Ropsten network同步,所以必须执行上述选项之一:删除“nodes”文件夹并使用GEth with“-bootnodes”选项。或者,使用命令添加节点:“admin.addPeer('enode://ADDRESS@IP:PORT')”。最重要的是要有一个健康的节点地址,你必须明确指定。我可以亲自联系你吗?我想问你一些关于区块链和以太坊的问题。可以吗?请将您的问题添加到StackOverflow或StackExchange,如果可以,请ping我。