contract Milestone {
address payable contractAddress = payable(msg.sender);
function payContractor() payable public {
address payable recipient =
payable(0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC);
recipient.transfer(5000000000000);
}
}如果我使用recipient.trasnfer(msg.value)并在混合中指定值,上面的函数就能工作。该金额将从contractAddress中扣除并转帐给收件人。
但是,当我试图指定特定数量时,上面的函数会引发以下错误:事务已恢复到初始状态。注意:如果您发送值,则应支付被调用的函数,而您发送的值应小于当前余额。调试事务以获得更多信息。
发布于 2022-04-09 10:05:13
如果您正在使用Remix,则必须将值(在您的例子中为5000000000000)放在msg.value文本框中,并尝试调用您的函数。这是msg.value文本框,并将您的值放在这里:

https://stackoverflow.com/questions/71806666
复制相似问题