0

我一直致力于在本地节点运行的情况下进行智能合约开发。它在两周前工作,当我尝试将相同的合约部署到同一个本地节点时出现错误。错误超过块气体限制。我在 truffle.js 中有很高的气体,但我仍然遇到同样的错误。这是为什么?

pragma solidity ^0.4.8;
contract Verifier {
    bool public isSignedW = false;
    address public theAddress;
    function recoverAddr(bytes32 msgHash, uint8 v, bytes32 r, bytes32 s) returns (address) {
        theAddress=  ecrecover(msgHash, v, r, s);
        return theAddress;
    }

    function isSigned(address _addr, bytes32 msgHash, uint8 v, bytes32 r, bytes32 s) returns (bool) {
        isSignedW= ecrecover(msgHash, v, r, s) == _addr;
        return isSignedW;
    }
}
4

1 回答 1

0

很难说我们什么时候看不到你的智能合约以及你如何部署它。也许你能提供更多信息吗?

我们可以知道你的合约被挖掘的区块的信息吗?

web3.eth.getBlock(BLOCK_NUMBER, function(error, result){
if(!error)
    console.log(JSON.stringify(result));
else
    console.error(error);
})

一种可能性是气体限制变得太低而无法挖掘你的合约。因为如果您使用默认参数,私有网络中的气体限制会随着每个开采的块减少到 470 万气体的限制。

于 2018-03-01T08:02:27.997 回答