【发布时间】:2021-11-02 04:43:23
【问题描述】:
我刚开始使用solidity和智能合约,但我很困惑,msg.sender和ERC20智能合约创建指南中的地址之间有什么区别
【问题讨论】:
我刚开始使用solidity和智能合约,但我很困惑,msg.sender和ERC20智能合约创建指南中的地址之间有什么区别
【问题讨论】:
例子:
// Send an amount from any address to any address
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
_transfer(from, to, amount);
return true;
}
// Send an amount from the function caller to any address
function transferFromCaller(address to, uint256 amount) public virtual override returns (bool) {
_transfer(msg.sender, to, amount);
return true;
}
【讨论】:
msg.sender 实际上就是你调用函数时使用的地址。这是您未定义的全局变量。据我了解,在代币合约中,“发件人”是您要用来花费一定数量代币的账户地址。
【讨论】: