¿Cómo leer saldos de tokens con solidez?

Estoy usando remix.ethereum. Solidity puede devolver el saldo de ether de la cuenta con un código como este

pragma solidity ^0.4.9;

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

Si tengo un token llamado TESTTOKEN [TTN] con estos detalles

Titular de la ficha: 0xe780e329d218a1f849f1cab777217a2cfbb410f2

Contrato ERC20: 0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c

(detalles del token metamask)

¿Cómo puedo obtener saldos TTN?

Respuestas (1)

// ------------------------------------------------ ----------------------------
// ERC Token Estándar #20 Interfaz
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ------------------------------------------------ ----------------------------
solidez de pragma ^0.4.17;

contrato ERC20 {
    function totalSupply() rendimientos constantes públicos (uint);
    function balanceOf(dirección tokenOwner) retornos constantes públicos (uint balance);
    asignación de función (tokenOwner de dirección, gastador de dirección) rendimientos constantes públicos (uint restante);
    transferencia de funciones (dirección a, tokens uint) devoluciones públicas (éxito bool);
    función de aprobación (dirección del gastador, tokens uint) devoluciones públicas (éxito bool);
    función transferFrom(dirección de, dirección a, uint tokens) retornos públicos (bool éxito);
    transferencia de evento (dirección indexada desde, dirección indexada a, tokens uint);
    Aprobación del evento (tokenOwner indexado por dirección, gastador indexado por dirección, tokens uint);
}

contrato MiContrato {
  dirección tracker_0x_address = 0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c;

  función getResult() retornos públicos (uint256) {
    // prueba de dirección = mensaje.remitente; // usa esto si quieres obtener el remitente
    prueba de dirección = 0xe780e329d218a1f849f1cab777217a2cfbb410f2; // codificar el remitente
    return ERC20(tracker_0x_address).balanceOf(msg.sender);
  }

}
tanx pero me devuelve - carácter en la salida decodificada
captura de pantalla pasteboard.co/HhOBwM7.png
Debe implementar un contrato de Token y tener esa dirección establecida, verifique este código gist.github.com/mickys/22d8861faa1b9267882d138ab2601d2d , en remix, implemente el contrato "Token", obtenga su dirección y luego implemente MyContract, y llame al " método updateBalanceResult()" con el parámetro "address_of_token_contract", pasteboard.co/HhPuyK9.png
use la vista con getResult() si desea ver el saldo