我希望我的合同不接受负值添加到余额中,所以我想我要添加一个大于0的要求值。它与接缝的原因是,使用payable函数发送的值是未签名的,因此始终为正数。这意味着如果您发送-1醚,它将被接受并添加大约1醚。如何确保没有负数可以发送?
function () external payable {
require(msg.value > 0);
require(msg.data.length == 0);
}
谢谢!
答案 0 :(得分:2)
无法在EVM中发送负值。因此msg.value
总是非负的。您无需检查。