返回错误:方法web3_clientVersion不存在/不可用



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

我不知道是我的系统问题,还是Harmony的松露提供商的问题......他们似乎正在尝试解决此问题并在此分支 https://github.com/harmony-one/sdk/tree/truffle_provider 上构建,我的队友最终能够部署它,但我仍然收到相同的错误:

$ 盎司部署

无需编译,所有合同都是最新的。

?选择要实例化的合约:Ball

?选择一个网络:稳定

✓ 新增合同:球

返回的错误:方法web3_clientVersion不存在/不存在 可用

替换

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 和小狐狸钱包 web3 提供商之间存在版本冲突。进行该更改解决了问题。

最新更新