gpt4 book ai didi

ethereum - 返回错误 : The method web3_clientVersion does not exist/is not available

转载 作者:行者123 更新时间:2023-12-05 08:06:08 31 4
gpt4 key购买 nike

我一直在尝试在使用 EVM 和 Solidity 的 Harmony 区 block 链中使用 openzeppelin 制作可升级的智能合约......它在不使用 openzeppelin 时是可部署的,但是当我这样做时,它会抛出上述错误...我的一位队友能够毫无错误地部署它...

我不知道这是我系统的问题,还是 Harmony 的 TruffleProvider 的问题...他们似乎正在尝试修复此问题并在此分支上构建 https://github.com/harmony-one/sdk/tree/truffle_provider ,我的队友最终能够部署它,但我仍然遇到同样的错误:

$ oz deploy

Nothing to compile, all contracts are up to date.

? Pick a contract to instantiate: Ball

? Pick a network: stable

✓ Added contract: Ball

Returned error: The method web3_clientVersion does not exist/is notavailable

最佳答案

替换

var web3 = new Web3(window.web3.currentProvider);

var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));

将 url 调整为以太坊节点地址(在我的例子中是 ganache-cli)。

在我的例子中,错误是在调用 web3.version.getNode() 时抛出的。发现这个方法在 web3 v1.0 上已经被 web3.eth.getNodeInfo() 取代。尝试将代码更新为 web3.eth.getNodeInfo() 但会抛出错误 “web3Obj.eth.getNodeInfo 不是函数”。很可能在 ganashe-cli 和 metamask web3 提供者之间存在版本冲突。进行更改可以解决问题。

关于ethereum - 返回错误 : The method web3_clientVersion does not exist/is not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62308266/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com