geth以太坊客户端连接到ganache

时间:2018-12-20 15:11:09

标签: python blockchain web3 go-ethereum geth

我想在一个网络内的不同计算机上建立一个私有的以太坊测试网。

我有连接到Ganachi Testnet的可运行web3.py实现的私人计算机。我可以从python编写的程序中使用solc编译器部署智能合约。

现在,我想在VM和树莓派上设置两个不同的其他以太坊节点。我在VM上安装了geth,但不了解如何将VM与计算机上运行的Ganache连接。

这是设置:

RPC服务器Ganachi:http://127.0.0.1:7545
网络ID = 5777

我尝试使用以下命令将geth节点与ganache连接起来:

  

geth --port 5000 --networkid 5777 --rpc --rpcport 7545 --rpcaddr 127.0.0.1 --rpccorsdomain'*'--rpcapi'eth,net,web3,personal'--testnet

它开始运行并写出此信息
...开始点对点节点
...已分配的chache和文件句柄
...从内存数据库中持久保存的特里
...初始链配置
...初始化以太坊协议
...新的本地节点记录
... IPC端点已打开
... HTTP端点已打开
...开始了P2P网络
...新的本地节点记录

启动程序时,VM上没有任何显示,并且要将交易发送到在VM上创建的帐户时,我看不到其他余额。

这是我在本地计算机上进行交易的代码:

  

w3.eth.sendTransaction({'from':'0xC4AEe6dBE1BF2461776f48a4Ca0E06E39dE08bB6','value':wei_value,'to':w3.toChecksumAddress('0xbdb3c3a7a0949b0aab9346e )

交易完成,并且从ganache GUI中的帐户中提取以太币。

但是当我使用以下代码在VM上测试帐户时:

  

geth --port 5000 --networkid 5777 --rpc --rpcport 7545 --rpcaddr 127.0.0.1 --testnet控制台

     

eth.getBalance(w3.toChecksumAddress('0xbdb3c3a7a0949b0aab9346e858f85fa8e3764733')})

输出为0 !!!

有人可以帮助我将VM geth与我的计算机Ganache连接吗?

VM和我的计算机通过VPN连接。例如,当我将Ganachi中的设置更改为http://0.0.0.0:7545时,我在更改行时在python代码中遇到错误:

  

provider = HTTPProvider('http://127.0.0.1:7545')

  

provider = HTTPProvider('http://0.0.0.0:7545')

出现以下错误:

  

requests.exceptions.ConnectionError:HTTPConnectionPool(host ='0.0.0.0',port = 7545):URL超过了最大重试次数:/(由NewConnectionError(':导致:无法建立新连接:[WinError 10049]死迪斯姆音乐节上的angeforderte地址专家,))

我完全不知道该怎么办!!!请帮助:)

1 个答案:

答案 0 :(得分:1)

Ganache在您的计算机上模拟以太坊的本地实例。它用于本地开发,并且与您的geth节点不兼容。如果要设置本地以太坊网络,则可以在本地计算机和VM上同时设置一个geth节点,在本地计算机上同时设置两个geth节点,或者在VM上设置两个geth节点。