Der Versuch, die balanceOf.call-Funktion zu verstehen

Ich spiele mit meinem ERC20-Token herum. Ich habe Token im Rinkeby-Testnetzwerk erstellt. Ich kann nicht verstehen, wo ich einen Fehler gemacht habe. Ich interagiere mit meinem Token in der Truffle-Konsole.

Nach Befehl

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

Ich überprüfe mein Guthaben mit dem Befehl:

app.balanceOf.call("0xb9ac6f47A43d24F9D0d37049b7dbdC4EA0083d37")

Und es funktioniert gut, ich bekomme die richtige Antwort.

Dann versuche ich, mein Guthaben mit Befehlen zu überprüfen:

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

oder

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

oder

app.balanceOf.call(address)

Wo habe ich einen Fehler gemacht? Wie rufe ich eine Funktion balanceOf auf?

Informationen nach der Befehls- App :

 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] },
Welchen Fehler bekommst du...? Aktualisieren Sie Ihre qus.

Antworten (1)

Du kannst tun:

app.balanceOf(accounts[0])

Wenn Sie calldie Funktion verwenden, wird sie lokal ausgewertet (in dem Knoten, mit dem Sie verbunden sind) und die Transaktion wird nicht an das Netzwerk gesendet, daher ist keine Notwendigkeit für {from: accounts[0]}.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .
Nur aus Neugier, wäre da ein Bytecode im EVM app.balanceOfkodiert ?call