Solidity Smart Contract Debugging: TRUFFL CLI Praktische Anleitung
Seit mehr als 30 Jahren sind Debugger ein unverzichtbares Tool für die Softwareentwicklung. Moderne Debugger ermöglichen uns:
- einstufiger Code
- Breakpoint festlegen
- Setzen Sie die Bedingungen für Breakpoints
- Ausdruck von Laufzeitbewertung
Die meisten modernen Debugger sind in der Entwicklungsumgebung der Sprachen, denen sie dienen, stark integriert. Sie ermöglichen das Einstellen von Haltepunkten, indem Sie auf Zeilennummern klicken, Ausdrücke bewerten, indem Sie über Variablen schweben und bedingte Haltepunkte in Code -Kommentaren schreiben ... usw.
Wie ist die aktuelle Situation des Debuggens und des Debuggers von Solidity Smart Contract?
Schlüsselpunkte
- TRUFFS -CLI ist ein wesentlicher Bestandteil der Trüffel -Suite und bietet einen vereinfachten Prozess zum Kompilieren, Migrieren, Testen und Debuggen von Ethereum -intelligenten Verträgen.
- Das Einrichten von Projekten mit TRUFFL beinhaltet die Initialisierung eines neuen Projektverzeichnisses, das Konfigurieren von Netzwerkeinstellungen in truffle.js und das Bereitstellen der TRUFFL -Entwicklungsumgebung.
- Debugging mit TRUFFL CLI erfordert die Identifizierung des Transaktions -Hash des Funktionsaufrufs, der debuggen wird, und verwenden Sie den Befehl
truffle debug tx_hash
, um die Transaktion Schritt für Schritt auszuführen. - gemeinsame Debugging -Aufgaben umfassen das Einsetzen der Vertragsfunktionen, die Überprüfung des Variablenstatus und die Bewertung von Ausdrücken zur Diagnose und Behebung von Problemen im Smart -Vertragscode.
Soliditätsdebugger
Wie die meisten Blockchain -Technologien sind wir noch in unserer Kindheit. Der grundlegende Debugger ist bereits verfügbar (und entwickelt sich schnell weiter), aber es gibt noch keine Editor -Integration, und der Debugger stützt sich stark auf das ausgewählte Framework. In diesem Artikel werden wir den mit der Trüffelsuite gebündelten Soliditätsdebugger untersuchen.
Anfänger
Zunächst müssen wir alle erforderlichen Werkzeuge installieren. Glücklicherweise ist das Trüffel-Framework sehr gut entwickelt, daher müssen wir es nur installieren.
Installieren Sie zuerst node.js und npm. Nach dem Installieren von Knoten können Sie überprüfen, ob es installiert wird, indem Sie die Version des Tools überprüfen:
Wenn Ihr Knoten ausgeführt wird, installieren wir das Trüffel -Framework. Dies kann durch die Verwendung von NPM vereinfacht werden. Führen Sie einfach den folgenden Befehl aus:
➜ ~ node -v v10.2.1 ➜ ~ npm -v 5.6.0
Sie können überprüfen, ob die Installation erfolgreich ist, indem Sie die Version überprüfen:
npm install -g truffle
Projekteinstellungen
truffle version Truffle v4.1.11 (core: 4.1.11) Solidity v0.4.24 (solc-js)
Jetzt, da Sie Trüffel eingerichtet haben, lassen Sie uns ein neues (leeres) Trüffelprojekt erstellen. Öffnen Sie Ihr Terminal, suchen Sie sich im gewünschten Verzeichnis und führen Sie Trüffel init. Die Ausgabe sollte dem ähnlich sein:
Danach sollten Sie eine ähnliche Vertragsstruktur haben:
truffle init Downloading... Unpacking... Setting up... Unbox successful. Sweet! Commands: Compile: truffle compile Migrate: truffle migrate Test contracts: truffle test
Öffnen Sie nun die Datei truffle.js und geben Sie die folgenden Daten hinein:
<code>. ├── contracts │ └── Migrations.sol ├── migrations │ └── 1_initial_migration.js ├── test ├── truffle-config.js └── truffle.js</code>
Speichern Sie die Datei und führen Sie Trüffel aus. Sie sollten eine ähnliche Ausgabe wie folgt erhalten:
module.exports = { networks: { development: { port: 9545, host: "127.0.0.1", network_id: "*" } } };
Dies startet eine Trüffelentwicklungs-Blockchain-Instanz, die von Ganache-Cli (ehemals TestRPC) angetrieben wird.
<code>truffle develop Truffle Develop started at http://127.0.0.1:9545/ ... (账户和私钥信息) ...</code>
Schreiben und Bereitstellen von Verträgen
Erstellen Sie im Verzeichnis Contracts eine Datei namens Storage.sol. Geben Sie in dieser Datei den folgenden Code ein:
➜ ~ node -v v10.2.1 ➜ ~ npm -v 5.6.0
Danach sollte Ihre Dateistruktur so aussehen:
npm install -g truffle
Erstellen Sie im Verzeichnis der Migrationen eine neue Datei mit dem Namen 2_Deploy_Migrations.js und geben Sie den folgenden Code hinein:
truffle version Truffle v4.1.11 (core: 4.1.11) Solidity v0.4.24 (solc-js)
Dieser Code definiert, wie Trüffel unsere Projekte in die Blockchain migriert.
Öffnen Sie nun eine neue Registerkarte im Terminal (TRUFFLE -EVE -TRUFFEL -Laufen) und führen Sie Trüffel -Migrate aus. Dies wird Ihren Vertrag zusammenstellen und in die Entwicklungsblockchain migrieren. Sie sollten eine ähnliche Ausgabe wie folgt erhalten:
truffle init Downloading... Unpacking... Setting up... Unbox successful. Sweet! Commands: Compile: truffle compile Migrate: truffle migrate Test contracts: truffle test
Führen Sie jetzt die Trüffelkonsole aus. Dadurch wird eine interaktive Konsole eröffnet, damit Sie Ihren Vertrag testen können. Machen Sie Folgendes in der Konsole:
... (Die nachfolgenden Schritte ähneln dem Originaltext, aber der Codefehler wurde korrigiert und einige Beschreibung wurde vereinfacht) ....
FAQ (FAQ) über das Debuggen mit Trüffel cli
... (Der FAQ -Teil ist im Grunde genommen dem ursprünglichen Text und stellt ihn leicht an, um die Fließfähigkeit aufrechtzuerhalten) ....
InsgesamtInsgesamt enthält dieser Artikel einen optimierteren und leicht verständlichen Smart Contract-Debugging-Handbuch und behebt Codefehler im Originaltext. Die Leser können die Schritte Schritt für Schritt befolgen, um die Fähigkeiten der Verwendung von Trüffel -CLI zu beherrschen, um intelligente Verträge zu debuggen.
Das obige ist der detaillierte Inhalt vonDebugging mit Trüffel -CLI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Bleiben Sie über die neuesten technischen Trends mit diesen Top -Entwickler -Newsletters informiert! Diese kuratierte Liste bietet für jeden etwas, von KI -Enthusiasten bis hin zu erfahrenen Backend- und Frontend -Entwicklern. Wählen Sie Ihre Favoriten und sparen Sie Zeit, um nach REL zu suchen

Dieses Tutorial führt Sie durch das Erstellen einer serverlosen Bildverarbeitungspipeline mit AWS -Diensten. Wir werden ein Next.JS -Frontend erstellen, der in einem ECS -Fargate -Cluster eingesetzt wird und mit einem API -Gateway, Lambda -Funktionen, S3 -Eimer und DynamoDB interagiert. Th

Dieses Pilotprogramm, eine Zusammenarbeit zwischen CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal und betätigten, rationalisiert ARM64 CI/CD für CNCF -Github -Projekte. Die Initiative befasst sich mit Sicherheitsbedenken und Leistung


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac
Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
