获取令牌内的 erc-20 令牌余额

时间:2021-02-19 19:29:26

标签: ethereum solidity

我作为所有者发送了一些代币 TESTTOKEN 到代币地址。 我有点困惑如何检查代币合约本身而不是所有者的代币余额。

contract ERC20 {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

}

mycontract TESTTOKEN.. {

如果我在令牌本身中获取 ERC-20 令牌的实例,我如何在这里检查余额?

我应该使用函数 address(this).balance 还是它返回 eth 而不是令牌,我对此感到困惑。

1 个答案:

答案 0 :(得分:0)

您的 balanceOf(address) 方法很可能是 mapping(address => uint256) 属性的 getter,该属性可能名为 balances

所以要得到这个THETOKEN合约的THETOKEN代币余额(不是ETH余额),你需要得到balances[address(this)]的价值。 >

function getThisAddressTokenBalance() public view returns (uint256) {
    return balances[address(this)];
}
相关问题