如何将部分智能合约余额提取到账户中?

时间:2019-09-25 15:41:22

标签: ethereum solidity transfer smartcontracts ether

我已经浏览了许多类似的问题,但是它们仅解决了将智能合约余额的全部转移到个人帐户的问题,

  

msg.sender.transfer(address(this).balance);

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

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

提取用amount变量指定的金额。无需检查合同的总余额,因为如果您尝试提取的余额超过总余额,则会还原。