在本地私有网络locolhost:8545上搭建了私链,根据合约的ABI和web3 delploy信息,部署了合约在私链上。在调用合约里的函数时,却一直提示Error: invalid opcode: SHR是什么原因。 附上该函数的代码(一个简单的函数)和失败提示图
SHR 这个操作码是在 Constantinople(君士坦丁堡)分叉中加入的。
应该是你的私链配置(genesis.json)中没有支持该分叉。
添加一下以下配置试试:
"byzantiumBlock": 0, "constantinopleBlock": 0