Solidity
如何在處理事務時解決 VM Exception:Out of gas
我正在嘗試借助 ganache testrpc 中的 web3.js 呼叫此函式,但它在處理事務時給了我 VM Exception 錯誤:氣體不足
我試圖將甘納許的氣體增加到 999999999999 仍然不起作用……
function initialEscrowDetail(uint transactionId,address partyB,uint amount,bool condition){
escrowDetail[transactionId].originator=msg.sender; escrowDetail[transactionId].beneficiary=partyB; escrowDetail[transactionId].amount=amount; escrowDetail[transactionId].payoutCondition=condition; escrowDetail[transactionId].escrowCompleted=false; }
如果未指定,web3 中的預設氣體為 90k。由於每次新的儲存修改成本為 20k,其中 5 次儲存修改您使用了超過 100k 的 gas。
您可以在交易氣體中添加可選的最後一個參數
escrow.initialEscrowDetail(1,"0x0",200,true, { gas: 1000000 });