我一直致力于智能合约开发,并且本地节点正在运行。它工作了两周,当我尝试将同一个合同部署到同一个本地节点时,我收到了一个错误。误差超过了气体限制。我在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;
}
}
答案 0 :(得分:0)
很难说我们何时看不到您的智能合约以及您如何部署它。也许你能提供更多信息吗?
我们是否可以获得合同开采区块的信息?
web3.eth.getBlock(BLOCK_NUMBER, function(error, result){
if(!error)
console.log(JSON.stringify(result));
else
console.error(error);
})
一种可能性是天然气限制变得太低而无法开采合同。因为私人网络中的气体限制随着每个采矿区块减少到470万气体的限制,如果使用默认参数。