在可靠的smart契约中,以下函数将将_amount ether转换为recipient:
function send(address recipient, uint _amount, uint256 _gas) private {
(bool success, ) = recipient.call{value:_amount, gas: _gas}("");
require(success, "Transfer failed.");
}默认情况下,所传递的值以ether表示。如果部署了一个ERC20令牌XYZ来处理_addressERC20,那么如何转移令牌XYZ呢?
发布于 2020-12-18 07:21:02
如下所示:
bool success = ERC20(_addressERC20).transfer(recipient, _amount);请注意,契约至少需要拥有给定令牌的_amount。
换句话说,在调用函数transfer之前,以下条件必须保持:
ERC20(_addressERC20).balanceOf(address(this)) >= _amounthttps://ethereum.stackexchange.com/questions/91257
复制相似问题