Verwenden des Truffle-Befehlszeilen-Debuggers

Ich schreibe einen Vertrag in Solidität, in dem ein Testfall fehlschlägt. Ich möchte den Code schrittweise durchgehen, um herauszufinden, was schief läuft. Ich verwende Trüffel für die Entwicklung. Dies mache ich nach Vertragsänderungen

truffle develop
compile
test ./test/NameOfMyTestCaseFile.sol

Dies gibt einen Fehler bei einem bestimmten Testfall zurück.

Das Handbuch unter DEBUGGING IHRER VERTRÄGE lautet:

truffle debug <transaction hash>

Ich sehe keine Transaktions-Hash-Ausgabe auf meiner Konsole. Wie verwende ich den Debugger, um den Code schrittweise zu durchlaufen?

Antworten (1)

Sie können Ganache und Remix verwenden, um Transaktions-Hashes für bestimmte Transaktionen zu erhalten. Um Ganache zu verwenden, gehen Sie zu Ihrer truffle.js-Datei und fügen Sie einen Verweis darauf in module.exports ein:

module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// to customize your Truffle configuration!
    networks: {
        development: {
            host: "127.0.0.1",
            port: 7545,
            network_id: "*"
        }
    }
};

Führen Sie in Remix eine Web3-Provider-Umgebungsoption aus, und wenn Sie Ganache verwenden, lautet der Endpunkt http://127.0.0.1:7545 . Sie können dann Truffle oder Remix verwenden, um Ihren Code zu debuggen. Hoffe das hilft!

Danke für deine Antwort. Muss man dafür online gehen? Ich schreibe keinen Produktionscode. Dies ist eine Hausaufgabe, die ich versuche zu debuggen! Kann ich das nicht offline machen?
Ich bin neu in dieser Umgebung. Könntest du bitte mehr Details teilen?
Nein, das bringt Sie dazu, eine vollständig private Blockchain mit Dummy-Konten zu betreiben, damit Sie Ihre Funktionalität testen können. Sie können Ganache hier herunterladen: truffleframework.com/ganache . Remix ist eine Online-IDE für Solidity Smart Contracts. Wenn Sie Ihre truffle.js-Datei ändern, teilen Sie ihr im Wesentlichen mit, dass sie auf die von Ganache eingerichteten Konten zeigen soll. Wenn Sie dann Remix so einrichten, dass es auch darauf verweist, wird alles synchronisiert, um mit den Dummy-Konten zu arbeiten. Remix ist eine IDE und ermöglicht es Ihnen, Ihre Smart Contracts zu kompilieren, auszuführen und zu testen, ohne ein Frontend einrichten zu müssen.
Wenn Sie Smart Contracts auf Funktionalität testen und dafür Testfälle schreiben, können Sie einfach remix ide mit der JavaScript-VM verwenden und dann Ihre Testdateien schreiben und Truffle verwenden, um zu bestätigen, dass sie erfolgreich sind. Weitere Informationen zu Remix finden Sie in der Dokumentation: remix.readthedocs.io/en/latest/run_tab.html#run-setup