我正在尝试调用我的合同的view方法,该方法在内部调用另一个合同的view方法。
合同:
//In Contract A (imports Contract B)
function getContractData() public view returns(string memory data){
ContractB instance = ContractB(<address where ContractB is available>));
return instance.getData();
}
//In Contract B
function getData() public view returns(string memory data){
return "Hello";
}
JS:
//Calling function
instance = await new web3.eth.Contract(JSON.parse(<ContractA ABI>, <ContractA Address>);
console.log(await instance.methods.getContractData().call());
我的方法在Remix浏览器中可以正常工作,但是当使用Web3在geth上的网络上运行时,我收到错误消息:返回值无效,它用完了吗?
我发现一些解决方案可以更改web3的版本,但它们对我没有用,我尝试添加from帐户和gas,即使这对于查看方法没有意义,但没有任何效果。
我在哪里出错?