Solidity

從另一個合約呼叫 ERC20 代幣合約的 msg.sender 問題返回合約地址

  • November 27, 2019

當我要呼叫 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);
}

使用代幣的使用者是批准合約的使用者。

合約不能指定自己使用別人錢包中的代幣。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/77862