我使用 geth
创建了一个私有(private)区块链.我还有一个合约,其中有一个函数调用另一个函数,它是第三个合约来设置地址。我可以在本地区块链上调用这个函数,比如 testRPC 和 Ganache 区块链,即使它在 TestNet 中也能工作。但是一旦我使用( geth
)设置了私有(private)区块链。我收到此错误:
Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?
gas required exceeds allowance or always failing transaction
我在来电者帐户中有足够的 ETH,而且
// in contract 1 function func(address addr) public returns (bool result) { Cantract2 c = Cantract2(addr); if (!c.setAddress(..)) { return false; } ..... return true; }
最佳答案
您可能想要检查您的私有(private)测试链的创世文件/链规范。
有一个称为区块 gas limit 的变量,它会影响您可以在每个区块上花费多少 gas。我记得过去的默认值过去非常低,也许您正在使用这样的配置。你可以做什么:
关于blockchain - 所需的gas超过限额或总是在Geth私有(private)区 block 链上失败,但在其他区 block 链上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51333536/