Gas

如何處理應付功能中的氣體用完

  • November 6, 2019
function payMe() payable{
   // doing some stuff with `msg.value`

   users[msg.sender].balance += modifiedMsgValue ;
}

在上面的程式碼中,如果氣體在第二行用完了怎麼辦?所以不會有剩餘的gas來更新使用者的數據並將ETH添加到使用者的餘額中。

該功能是否會被還原,ETH 是否會返還給使用者?如果沒有,這種情況的解決方案是什麼?

有沒有辦法估計該功能的氣體使用量,如果沒有足夠的氣體,只需恢復該功能?

整個函式將恢復,並且減去交易成本後,乙太幣將返回給發送者。

引用自:https://ethereum.stackexchange.com/questions/77242