Debuggen von Smart Contracts über eine dApp mit Ganache + MetaMask, irgendwelche Vorschläge?

Ich debugge einen Smart Contract über eine von mir erstellte dApp. Der Vertrag, den ich baue, hat einige Hinzufügungen und einige Entfernungen. Wenn ich etwas hinzufüge, funktioniert alles, aber wenn ich etwas entferne, explodiert etwas. Jedes Mal, wenn das passiert, muss ich:

  • Töte den Dapp
  • Ganache töten
  • Ganache neu starten
  • Erstellen Sie die Verträge neu, wenn ich etwas geändert habe, und migrieren Sie sie
  • Starten Sie die dApp neu
  • Meine Adresse in MetaMask ändern (Importieren des neuen Ganache-Kontos oder Importieren einer neuen Mnemonik)

Ich muss Ganache töten und neu starten, weil MetaMask seltsame Fehler wie

  • Endlosschleife (nur der Spinner geht ewig weiter)
  • Etwas über die alten Blöcke der dApp
  • Fehler darüber, wie die Löschtransaktion mehr Gas benötigte (was meiner Meinung nach bedeutet, dass mein Vertrag zu viele Dinge tut und ich untersuche, warum), was dazu führt, dass sich MetaMask seltsam verhält und mich zwingt, die oben genannten Schritte zu befolgen
  • Manchmal gebe ich eine einzelne Anfrage aus und es sind 2 statt einer in der Warteschlange, was manchmal die Sache mit der Endlosschleife auslöst

Diese Fehler können nur behoben werden, indem Ganache neu gestartet und die Adresse geändert wird. Ich bin es also wirklich leid, dies immer und immer wieder zu tun. Gibt es eine Möglichkeit, das Debuggen eines Smart Contracts einfacher zu machen?

Antworten (1)

Vielleicht hilft dir das weiter: http://truffleframework.com/tutorials/debugging-a-smart-contract (ich empfehle auch das Cryptozombies-Tutorial, falls du es noch nicht gemacht hast)

Vielen Dank für die Antwort, ich habe nur das Truffle-Tutorial befolgt. Ich werde mir die von dir genannten Quellen auf jeden Fall anschauen. Meine Frage bezog sich eher darauf, welche Infrastruktur ich verwenden sollte, um mit all diesen Schritten schnell das zu tun, was ich gerade tue.