连接失败了以太坊Ropsten Testnet网络

时间:2018-03-09 14:10:33

标签: blockchain ethereum truffle

我想通过使用以太坊区块链制作Dapp。为了运行智能合约演示,我在下面的链接中提到:

https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-2-30b3d335aa1f

其中,步骤1是命令连接到以太坊的Testnet网络以部署智能合约。在其中,我无法在我的控制台上看到任何数据库正在下载,我已经分享了相同的截图。

然后我切换到下一步下载松露。当我解雇truffle console命令时,我又得到了以下错误:

Could not connect to your Ethereum client. Please check that your Ethereum client:
    - is running
    - is accepting RPC connections (i.e., "--rpc" option is used in geth)
    - is accessible over the network
    - is properly configured in your Truffle configuration file (truffle.js)

那么,如何运行该链接中给出的投票应用程序。如果有人有智能合约演示的任何其他链接,请与我分享。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您想按原样操作教程,则需要先执行步骤1,然后再继续执行步骤2(您可以使用Truffle运行示例,但步骤不同)。看起来您的节点根本没有同步。通过启动控制台验证节点的完整性(您可以在运行geth geth attach '//./pipe/geth.ipc'时附加到节点)。进入控制台后,运行eth.syncing并查看结果。

如果您的节点工作正常,您应该看到如下内容:

$ geth attach '//./pipe/geth.ipc'
Welcome to the Geth JavaScript console!

instance: Geth/TrustDevTestNode/v1.8.2-stable-b8b9f7f4/windows-amd64/go1.9.2
coinbase: 0x0a78c28257b40d5076ea180bc6a9e4c597c5ea98
at block: 280377 (Tue, 03 Jan 2017 19:36:08 PST)
 datadir: C:\cygwin\home\adamk\eth\geth\data\testnet
 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0

> eth.syncing

{
  currentBlock: 282100,
  highestBlock: 2803215,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 0
}

如果您看到这一点,请让节点同步,直到currentBlock和highestBlock相同。如果eth.syncing返回false,则表示节点未正常运行(可能基于您发布的内容)。如果是这样,请执行以下操作:

  1. 停止您的节点
  2. 完全删除您的区块链数据(在您的情况下为/home/riyasoni/.ethereum/testnet)
  3. 升级到最新版本的geth(运行1.7.3。截至2014年3月9日,最新版本为1.8.2)
  4. 重启geth。运行geth的方式没有任何问题,但我个人不会使用--bootnodes选项,我会花时间与--syncmode "full"一起运行。在快速同步模式下运行存在限制,如果您停止节点一段时间然后尝试重新启动,则节点将完全停止同步。您的节点需要一段时间才能完全同步。
  5. 完成这些步骤后,再次检查控制台中节点的状态,然后再转到Truffle。