在我的服务合同中调用令牌功能

Call token function in my service contract

我想收取代币价值以在我的合同中执行一项功能。 我在迷雾中创建了令牌,在私有网络上进行了部署,一切都是 运行.

我的代码:

contract my_contract{    
    function my_function() public {
        do_something;
        // token other contract below
        token.transferFrom(msg_sender, to_address, amount); 
    }    
}

我该怎么做? 如何在我的合约中实例化一个代币?

在客户端合约中包含要调用的合约接口,部署时传入合约地址。

示例: 实用性 ^0.4.18;

contract ERC20 {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract my_contract {
    ERC20 _token;

    function my_contract(address tokenAddress) public {
        _token = ERC20(tokenAddress);
    }

    function my_function(address to, uint amount) public {
        //do_something

        _token.transferFrom(msg.sender, to, amount);
    }
}