suchen

Solidity Smart Contract Debugging: TRUFFL CLI Praktische Anleitung

Debugging with Truffle CLI

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) ....

Insgesamt

Insgesamt 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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Top 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenTop 21 Entwickler -Newsletter, die sich 2025 abonnieren könnenApr 24, 2025 am 08:28 AM

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

Serverlose Bildverarbeitungspipeline mit AWS ECS und LambdaServerlose Bildverarbeitungspipeline mit AWS ECS und LambdaApr 18, 2025 am 08:28 AM

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

CNCF ARM64 Pilot: Impact and InsightsCNCF ARM64 Pilot: Impact and InsightsApr 15, 2025 am 08:27 AM

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

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

MantisBT

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

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

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung