如何检查发送到智能合约的负数?

时间:2018-10-15 16:13:54

标签: ethereum solidity smartcontracts web3 truffle

我希望我的合同不接受负值添加到余额中,所以我想我要添加一个大于0的要求值。它与接缝的原因是,使用payable函数发送的值是未签名的,因此始终为正数。这意味着如果您发送-1醚,它将被接受并添加大约1醚。如何确保没有负数可以发送?

function () external payable {
  require(msg.value > 0); 
  require(msg.data.length == 0);
} 

谢谢!

1 个答案:

答案 0 :(得分:2)

无法在EVM中发送负值。因此msg.value总是非负的。您无需检查。