Solidity
從另一個合約呼叫 ERC20 代幣合約的 msg.sender 問題返回合約地址
當我要呼叫 erc20 contract.log 的批准函式時,會列印 tokenOwner 和 tokenSpender 地址相同,即合約地址 msg.sender 返回合約地址。但我想要 tokenWner = 呼叫者地址和 tokenSpender = 合約地址,請幫忙。
這是erc20方法
function approve(address spender, uint256 tokens) public returns (bool success) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; }
這是我呼叫令牌方法的合約方法
function approve(address token, uint256 _value) public returns (bool) { return ERC20Interface(token).approve(this, _value); }
使用代幣的使用者是批准合約的使用者。
合約不能指定自己使用別人錢包中的代幣。
希望能幫助到你。