- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试在使用 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/
我是一名优秀的程序员,十分优秀!