Как читать балансы токенов с солидностью?

Я использую remix.ethereum. Solidity может вернуть эфирный баланс аккаунта с помощью такого кода

pragma solidity ^0.4.9;

contract showBalance{
    address owner = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
    uint256 public showBalance = owner.balance;
}

Если у меня есть токен с именем TESTTOKEN [TTN] с этими данными

Держатель токена: 0xe780e329d218a1f849f1cab777217a2cfbb410f2

Контракт ERC20: 0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c

(информация о токене метамаски)

Как я могу получить баланс TTN?

Ответы (1)

// ------------------------------------------------ ----------------------------
// Интерфейс ERC Token Standard #20
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ------------------------------------------------ ----------------------------
прочность прагмы ^0,4,17;

контракт ERC20 {
    функция totalSupply() возвращает общедоступную константу (uint);
    функция balanceOf(адрес tokenOwner) возвращает общедоступную константу (неверный баланс);
    функция разрешения (адрес tokenOwner, адрес спонсора) публичная постоянная возвращает (осталось uint);
    передача функции (адрес, токены uint) public возвращает (логический успех);
    функция одобряет (адрес отправителя, токены uint) публично возвращает (логический успех);
    функция transferFrom(адрес от, адрес до, токены uint) public возвращает (логический успех);
    передача события (адрес, с которого индексируется, адрес, на который индексируется, токены uint);
    Утверждение события (адрес, проиндексированный tokenOwner, адрес, проиндексированный отправитель, токены uint);
}

контракт МойКонтракт {
  адрес tracker_0x_address = 0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c;

  функция getResult() публично возвращает (uint256) {
    // проверка адреса = msg.sender; // используйте это, если хотите получить отправителя
    проверка адреса = 0xe780e329d218a1f849f1cab777217a2cfbb410f2; // жестко кодируем отправителя
    вернуть ERC20 (tracker_0x_address).balanceOf (msg.sender);
  }

}
tanx, но он перезапускает меня - символ в декодированном выводе
pasteboard.co/HhOBwM7.png снимок экрана
Вам нужно развернуть контракт Token и установить этот адрес, проверить этот код gist.github.com/mickys/22d8861faa1b9267882d138ab2601d2d , в ремиксе, развернуть контракт «Token», получить его адрес, а затем развернуть MyContract и вызвать « updateBalanceResult()» с параметром «address_of_token_contract», pasteboard.co/HhPuyK9.png
используйте просмотр с getResult(), если вы хотите просмотреть баланс