Heim > Technologie-Peripheriegeräte > IT Industrie > Trüffel: Testen intelligenten Verträgen

Trüffel: Testen intelligenten Verträgen

Christopher Nolan
Freigeben: 2025-02-16 09:14:13
Original
979 Leute haben es durchsucht

Truffle: Testing Smart Contracts

TRUFFE: Ein leistungsstarkes Tool für die effiziente Automatisierung der intelligenten Vertragsentwicklung.

Smart Contract Testing ist der Kernverbindung der hochwertigen Smart Contract-Entwicklung. Warum müssen wir den Tests so viel Aufmerksamkeit schenken? Da intelligente Verträge mit Wert und manchmal großem Wert umgehen, macht sie sie von Angreifern ins Visier genommen. Sie möchten nicht, dass Ihr Projekt auf dem Blockchain -Friedhof irgendwann zu einem "Geist" wird, oder?

Schlüsselpunkte:

  • TRUFFL ist ein Muss für die automatisierte Zusammenstellung, das Testen und die Bereitstellung von intelligenten Verträgen, um eine effiziente Blockchain-Entwicklung zu gewährleisten.
  • Da intelligente Verträge mit hohen Werttransaktionen umgehen und sich leicht ansprechen können, ist es wichtig, intelligente Verträge mit Trüffel zu testen.
  • Einfach ein lokales Entwicklungstestnetzwerk mit Ganache-CLI (früher als TestRPC bekannt) erstellt, das vorbelastete Ätherkonten für bequeme kostengünstige Tests bietet.
  • TRUFFL unterstützt das Schreiben intelligenter Vertragstests mit Solidity und JavaScript, wodurch die Programmierpräferenzen für Entwickler und die Testkomplexität Flexibilität basieren.
  • TRUFFL hat einen integrierten Debugger, mit dem Entwickler Code durchlaufen und Variablen überprüfen können, um Probleme effizient zu lösen.

Anfänger:

Wir werden einen einfachen, intelligenten kontraktbasierten Second-Hand-Warenmarkt namens Hashmarket erstellen.

Suchen Sie im Terminal den Ordner, in dem Sie das Projekt erstellen möchten. Führen Sie in diesem Ordner den folgenden Befehl aus:

mkdir HashMarket
cd HashMarket
truffle init
Nach dem Login kopieren

Sie sollten die Ausgabe ähnlich wie folgt sehen:

<code>Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test</code>
Nach dem Login kopieren

Sie erhalten auch die Dateistruktur wie unten gezeigt:

<code>.
├── contracts
│   └── Migrations.sol
├── migrations
│   └── 1_initial_migration.js
├── test
├── truffle-config.js
└── truffle.js</code>
Nach dem Login kopieren

Informationen zu diesen Dokumenten finden Sie im vorherigen Artikel. Kurz gesagt, wir haben die grundlegenden truffle.js -Fateien sowie zwei Dateien für die erste Blockchain -Migration.

Bereiten Sie sich auf die Testumgebung vor

Der einfachste Weg zum Testen besteht darin, dies im lokalen Netzwerk zu tun. Es wird dringend empfohlen, das Ganache-Cli-Tool (früher als TestRPC) für Vertragstests zu verwenden.

Ganache-cli installieren (benötigt Node Package Manager):

npm install -g ganache-cli
Nach dem Login kopieren
Öffnen Sie nach

ein separates Terminalfenster oder eine separate Registerkarte und führen Sie aus:

ganache-cli
Nach dem Login kopieren

Sie sollten die Ausgabe ähnlich wie folgt sehen:

<code>Ganache CLI v6.1.0 (ganache-core: 2.1.0)

... (账户和私钥信息) ...

Listening on localhost:8545</code>
Nach dem Login kopieren

Dies ist eine Liste aller Konten, die Ganache-Cli für Sie erstellt. Sie können jedes gewünschte Konto verwenden, aber diese werden Ether aufladen, was sie sehr nützlich macht (da der Test für die Bezahlung von Gasgebühren für den Test erforderlich ist).

Nach

gehen Sie zu Ihrer Datei truffle.js oder truffle-config.js und fügen Sie Ihrer Konfiguration ein Entwicklungsnetzwerk hinzu:

module.exports = {
    networks: {
      development: {
        host: "127.0.0.1",
        port: 8545,
        network_id: "*"
      }
    }
};
Nach dem Login kopieren
intelligente Verträge schreiben

Erstens werden wir einen Hashmarket -Smart -Vertrag schreiben. Wir werden versuchen, es einfach zu halten, während wir die erforderliche Funktionalität beibehalten.

Hashmarket ist eBay auf der Blockchain. Es ermöglicht Verkäufern, Produkte und Käufer zu veröffentlichen, um Produkte mit Äther zu kaufen. Es ermöglicht den Verkäufern auch, das Produkt zu entfernen, wenn es nicht verkauft wird.

im Ordner contracts im Projekt erstellen Sie eine neue Datei und nennen Sie es HashMarket.sol. Fügen Sie in dieser Datei den folgenden Code hinzu: (Der gleiche Vertragscode wie der Originaltext wird hier weggelassen, um Duplizierung zu vermeiden)

eine Migrationsdatei schreiben

Sie müssen eine Migrationsdatei schreiben, mit der Trüffel wissen, wie Sie Ihren Vertrag in der Blockchain bereitstellen. Gehen Sie zum Ordner migrations und erstellen Sie eine neue Datei mit dem Namen 2_deploy_contracts.js. Fügen Sie in dieser Datei den folgenden Code hinzu: (der gleiche Migrationsdateicode wie der Originaltext ist hier weggelassen, um die Duplikation zu vermeiden)

Test intelligente Verträge

Sie können Solidität oder JavaScript verwenden, um Smart -Contract -Tests durchzuführen. Solidität kann beim Testen intelligenter Verträge etwas intuitiver sein, aber JavaScript bietet mehr Möglichkeiten.

Soliditätstest

Erstellen Sie im Ordner test im Projekt eine Datei mit dem Namen TestHashMarket.sol. (Die Codes für Soliditätstests, die mit dem ursprünglichen Text ausgehen, werden hier weggelassen, um die Duplikation zu vermeiden.)

JavaScript -Test

TRUFFE ermöglicht es uns, JavaScript zum Testen zu verwenden und das Mokka -Test -Framework zu nutzen. (Der gleiche JavaScript -Testcode wie der Originaltext wird hier weggelassen, um Duplikation zu vermeiden)

FAQs (FAQs) zur Verwendung von TRUFFL zum Testen intelligenter Verträge: (der gleiche FAQ

Das obige ist der detaillierte Inhalt vonTrüffel: Testen intelligenten Verträgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage