Contract-Debugging

msg 值獲取低級呼叫錯誤

  • December 16, 2017
function enter() payable {
    if (msg.value < 10 finney) {
        msg.sender.send(msg.value);
        return;
    }

我正在進入return value from low-level callsMist 錢包。Solidity 版本:0.4.8+commit.60cc1668 .. T_T 請幫忙。泰

如果付款太低,您會嘗試退回 msg.sender 的資金嗎?

編譯器問題是您沒有檢查send(). 不能保證成功。參見此處:未使用的低級呼叫的返回值

在無效交易退回資金的情況下,您可以簡化流程throw;

考慮:

function enter() public payable returns (bool success) {
 if (msg.value < 10 finney) throw;
 return true;
}

希望能幫助到你。

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