Tratando de entender la función balanceOf.call

Estoy jugando con mi token ERC20. Creé token en la red de prueba de Rinkeby. No puedo entender dónde cometí un error. Estoy interactuando con mi token en la consola de trufas.

Después del comando

Token.deployed().then(function(instance){app = instance;})

Compruebo mi saldo con el comando:

app.balanceOf.call("0xb9ac6f47A43d24F9D0d37049b7dbdC4EA0083d37")

Y funciona bien, estoy obteniendo la respuesta correcta.

Luego estoy tratando de verificar mi saldo con comandos:

app.balanceOf.call(accounts[0], {from: accounts[0]})

o

app.balanceOf.call(app.accounts[0], {from: app.accounts[0]})

o

app.balanceOf.call(address)

¿Dónde cometí un error? ¿Cómo llamar a una función balanceOf?

Información después de la aplicación de comando :

 balanceOf:
  { [Function: bound ]
    request: [Function: bound ],
    call: [Function: bound ],
    sendTransaction: [Function: bound ],
    estimateGas: [Function: bound ],
    getData: [Function: bound ],
    address: [Circular] },


....


 balanceOf:
  { [Function]
    call: [Function],
    sendTransaction: [Function],
    request: [Function: bound ],
    estimateGas: [Function] },
¿Cuál es el error que te da...? Actualice su qus.

Respuestas (1)

Tu puedes hacer:

app.balanceOf(accounts[0])

si usa callla función se evalúa localmente (en el nodo que está conectado) y la transacción no se envía a la red, por lo tanto, no es necesario {from: accounts[0]}.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
solo por curiosidad, ¿estaría app.balanceOfcodificado como callen el código de bytes de EVM?