1

我查看了许多类似的问题,但它们仅涉及将智能合约的全部余额转移到个人账户,它是这样完成的:

msg.sender.transfer(地址(this).balance);

我正在尝试(但未能)弄清楚如何转移部分余额。例如。如果合约包含 3 个以太币,我只想转账 1 个。并且我希望能够在每次使用该功能时指定要转账的金额。我没有发布我的代码,因为我没有尝试过任何工作,而且这几乎是猜测。

感谢您的任何帮助。

4

1 回答 1

1
function withdraw(uint amount) public {
    msg.sender.transfer(amount);
}

amount提取变量指定的金额。无需检查合约的总余额,因为如果您尝试提取的金额超过总余额,它将恢复。

于 2019-09-25T18:48:15.803 回答