Solidity Transfer Token Test Case funktioniert nicht einwandfrei.

Ich teste Smart Contract, wenn ich versuche, Token mit https://remix.ethereum.org zu übertragen . Das funktionierte gut. Aber jetzt möchte ich seinen Testfall schreiben, aber das funktioniert nicht gut und überträgt die Token nicht. Code:

 it('should properly [transfer] token', async function() {
    let recipient = "0xe0f5206bbd039e7b0592d8918820024e2a7437b9";
    let tokenWei = 1000000;
    let status = await contract.methods.transfer(recipient, tokenWei).call();
    console.log(status);

    let ownerBalance = await contract.methods.balanceOf(owner).call();
    let recipientBalance = await contract.methods.balanceOf("0xe0f5206bbd039e7b0592d8918820024e2a7437b9").call();
    console.log("Balance:"+ownerBalance +'----'+recipientBalance);
  });

Ausgabe ist so.

status = true
Balance:1705243055----100000000

Diese Salden sind genau die gleichen wie zuvor, dh keine Abzüge vom Eigentümerkonto und keine Hinzufügung auf dem Empfängerkonto.

Jede Anleitung / Hilfe wird geschätzt.

Danke

Wie sendet man mit Terminal? Senden wie nicht installieren?
Hallo und willkommen bei Ethereum StackExchange. Bitte sprechen Sie Englisch, damit die Benutzer Sie verstehen können.

Antworten (1)

Sie müssen send statt call verwenden, da Sie den Status ändern.

contract.methods.transfer(recipient, tokenWei).send({from: '0x123...'})
Vielen Dank, Salden werden korrekt als 1704243055-101000000 angezeigt. Aber als ich einen anderen Testfall unten im Testfall ausprobierte, der erneut den Start des zugewiesenen Guthabens im Eigentümerkonto anzeigt Code it('Owner balance', async function() { let Balance = await contract.methods.balanceOf(owner).call(); Balance = Balance.toString(); console.log(Balance); }) Die Ausgabe sollte lauten: 1704243055 Aber es wird angezeigt: 1705243055 Meine Frage ist also, ob es ein Scope-Problem gibt, warum Balance wird im neuen Testfall wieder als zuvor zugewiesen angezeigt oder muss ich einen Testfall aufschreiben, wie ich in Frage erwähnt habe?
hört sich komisch an. Ich habe keine Antwort darauf, es sollte richtig funktionieren. Benutzt du Ganache-Cli?
Ja, ich verwende Ganache-Cli
Haben Sie ein Beispiel für Testfälle mit Code? Geben Sie bitte.