Error: VM Exception while processing transaction: out of gas, set mapping key value error

Error: VM Exception while processing transaction: out of gas, set mapping key value error

合约函数为

function _removeFlag(address sender) internal {
    //remove if in record
    if (mapping1[sender] > 0) {
       mapping1[sender] = 0;
    }
}        

当我的测试用例 运行 进入这个函数时,显示如下错误:

松露>:松露测试

Error: Returned error: VM Exception while processing transaction: out of gas

如果我用 mapping1[sender] = 1; 设置它,错误就会消失。

版本信息:

Truffle v5.4.0(核心:5.4.0)
Solidity v0.5.16 (solc-js)
节点 v16.4.2
Web3.js v1.4.0

首先检查您的账户余额:balance = web3.eth.getBalance(someAddress); 然后尝试指定 gaslimit contractInstance.createProposal("ADHD", "Foo", 2, {from: web3.eth.accounts[1], gas:3000000})