所需的气体超过配额或在Geth私有区块链上始终失败交易,但在其他情况下运行良好

时间:2018-07-13 22:25:19

标签: blockchain ethereum solidity smartcontracts geth

我使用geth创建了一个私有区块链。我也有一个合同,其中有一个函数调用第三个合同中的另一个函数来设置地址。我可以在testRPC和Ganache区块链等本地区块链上调用此函数,即使它在TestNet中也可以使用。但是一旦我使用(geth)设置了私有区块链。我收到此错误:

  

气体估计错误,并显示以下消息(请参见下文)。       事务执行可能会失败。您要强制发送吗?

     

所需的气体超出限额或交易始终失败

我的呼叫者帐户中有足够的ETH,并且

  • 我的呼叫者帐户中有足够的ETH,并且
  • GasLimit足够高
  • 该函数没有任何循环或奇特的操作,没有设置地址和进行一些条件检查
  • 该节点是Ubuntu 16.04
  • geth -v-> 1.8.12稳定
 // in contract 1 
 function func(address addr) public returns (bool result) {
    Cantract2 c = Cantract2(addr);
    if (!c.setAddress(..)) {
       return false;
    }
       .....
    return true;
  }

0 个答案:

没有答案