部署智能合约本地节点时超过阻止气体限制

时间:2018-02-28 14:06:10

标签: smartcontracts geth

我一直致力于智能合约开发,并且本地节点正在运行。它工作了两周,当我尝试将同一个合同部署到同一个本地节点时,我收到了一个错误。误差超过了气体限制。我在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;
    }
}

1 个答案:

答案 0 :(得分:0)

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

我们是否可以获得合同开采区块的信息?

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

一种可能性是天然气限制变得太低而无法开采合同。因为私人网络中的气体限制随着每个采矿区块减少到470万气体的限制,如果使用默认参数。