Was ist die Truffle Suite? Funktionen, Installation, Ausführung von Smart Contracts
Veröffentlicht: 2020-03-24In den frühen Tagen, als Blockchain gerade seine Reise in den Mainstream-Tech-Bereich begann, mussten Sie Smart Contracts mit der Programmiersprache Solidity entwickeln und sie durch Aufrufen der Geth- oder Solc-Funktionen bereitstellen.
Um diesen Prozess etwas zu vereinfachen, mussten Sie Bash-Skripte schreiben, die den Vertrag zuerst kompilieren und dann bereitstellen. Nun, obwohl der letztere Ansatz besser war als der erstere, war er ziemlich rudimentär, da Bash-Skripting oft einen Mangel an Standardisierung mit sich bringt.
Diese Notwendigkeit, ein nahtloses und optimales Entwicklungs- und Test-Framework für Blockchain Smart Contracts zu schaffen, hat Truffle Etheruem hervorgebracht.
Lernen Sie den Online-Softwareentwicklungskurs von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Inhaltsverzeichnis
Was ist die Trüffel-Suite?
Laut Truffle Suite ist Truffle eine „Weltklasse-Entwicklungsumgebung, ein Test-Framework und eine Asset-Pipeline für Blockchains, die die Ethereum Virtual Machine (EVM) verwenden, um das Leben als Entwickler einfacher zu machen“.
Mit einfachen Worten, Truffle ist eine Entwicklungsumgebung, ein Testframework und eine Asset-Pipeline in einem. Es basiert auf der Ethereum Blockchain und soll die reibungslose und nahtlose Entwicklung von DApps (Distributed Applications) erleichtern. Mit Truffle können Sie Smart Contracts kompilieren und bereitstellen, sie in Web-Apps einfügen und auch ein Front-End für DApps entwickeln. Heute ist Truffle eine der am häufigsten verwendeten IDEs für Ethereum Blockchain.

Die Truffle Suite besteht aus drei Kernelementen:
- Truffle – Die eigentliche Entwicklungsumgebung, die das Kompilieren, Testen und Bereitstellen von Smart Contracts integriert.
- Ganache – Es ist ein lokal bereitgestellter Blockchain-Simulator. Ganache verfügt über eine grafische Benutzeroberfläche, die Blockchain-Netzwerke simulieren und Smart Contracts live testen kann, ohne dass Sie echte Testnetzwerke einrichten oder ein Remote-Netzwerk verwenden müssen.
- Drizzle – Es ist eine Auswahl an Front-End-Bibliotheken, die nützliche Komponenten für die Entwicklung von Webanwendungen bieten, die sich nahtlos mit den Smart Contracts verbinden können.
Lesen Sie: Wie man ein Blockchain-Entwickler wird – Ein Leitfaden für Anfänger
Was sind die Eigenschaften von Trüffel?
Die Funktionen, die Truffle Etheruem zu einer der am häufigsten verwendeten IDEs für Ethereum Blockchain machen, sind:
- Es verfügt über eine integrierte Unterstützung für das Kompilieren, Bereitstellen und Verknüpfen von Smart Contracts.
- Es ermöglicht automatisierte Vertragstests mit Mocha und Chai.
- Mit der Truffle Console können Sie problemlos mit Ihren zusammengestellten Verträgen arbeiten.
- Es verfügt über eine konfigurierbare Build-Pipeline, die sowohl Konsolen-Apps als auch Web-Apps unterstützt.
- Es verfügt über integrierte Unterstützung für JavaScript, CoffeeScript, SASS, ES6 und JSX.
- Es verfügt über Generatoren, die bei der Erstellung neuer Verträge und Tests helfen (z. B. Schienen generieren).
- Es verfügt über einen Skript-Runner, mit dem Sie JS/Coffee-Dateien ausführen können, einschließlich Ihrer Smart Contracts.
- Es ermöglicht den sofortigen Wiederaufbau von Assets während der Entwicklungsphase.
- Es ermöglicht die Vertragskompilierung und -bereitstellung mit dem von Ihnen bevorzugten RPC-Client.
- Es unterstützt sowohl die Netzwerk- als auch die Paketverwaltung.
Wie installiere ich Truffle Ethereum?
Sie können Truffle Ethereum mit dem Node Package Manager (npm) installieren. Zuerst müssen Sie NPM auf Ihrem Computer einrichten und dann Truffle installieren. Dazu müssen Sie das Terminal öffnen und Folgendes eingeben:
npm install -g truffle
Auf Linux-Rechnern müssen Sie der obigen Anweisung jedoch möglicherweise das Präfix „sudo“ hinzufügen. Stellen Sie nach der Installation des Truffle-Frameworks sicher, dass Sie den Ganache-Blockchain-Simulator herunterladen und installieren. Sie können die offizielle Ganache-Website besuchen – sie enthält Installationsprogramme für die gängigsten Plattformen.
Nachdem Sie Truffle erfolgreich installiert haben, können Sie ein Truffle-Projekt auf zwei Arten starten. Um ein reines Projekt zu erstellen, können Sie die folgende Anweisung eingeben:
Trüffel-Init
Sie können jedoch auch den Truffle-Unbox-Befehl verwenden, um ein Projekt mit vorhandenem Code zu erstellen. Sie können beispielsweise ein Token wie folgt erstellen:
Trüffel Metacoin auspacken
Beim Ausführen dieses Befehls wird ein Projekt aus einer Truffle-Box erstellt. Auf der offiziellen Website finden Sie viele Trüffelkisten . Sie enthalten Boilerplate-Code und alle notwendigen Konfigurationen für Bauprojekte und starten sie schnell.
Die Struktur eines Trüffelprojekts
Der von Ihnen erstellte Truffle-Ordner sieht in etwa so aus:
├── Verträge
│ ├── ConvertLib.sol
│ ├── MetaCoin.sol
│ └── Migrationen.sol
├── Migrationen
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── testen
│ ├── TestMetacoin.sol
│ └── metacoin.js
├── truffle-config.js
└── trüffel.js
Jetzt werden wir ausführlich über die verschiedenen Unterordner sprechen, die in Ihrem Truffle-Ordner enthalten sind.
Ordner Verträge
Der Ordner „Contracts“ ist einer, in dem alle Ihre Smart Contracts gespeichert sind. In diesem Ordner befindet sich auch eine spezielle Datei namens Migrations.sol-Datei. Wenn Truffle Ihr Projekt kompiliert, durchsucht es normalerweise den Contracts-Ordner, um alle kompatiblen Dateien zu kompilieren.
Ordner Migrationen
Truffle Migration bezieht sich auf ein Skript, das definiert, wie Ihre Smart Contracts in der Ethereum Blockchain bereitgestellt werden. Migrationen sind unerlässlich, denn je komplexer Ihr Projekt wird, desto komplexer werden auch Ihre Bereitstellungen. Dank Truffle Migrations können Sie den Prozess der Bereitstellung von Smart Contracts sequenziell automatisieren.

Wenn Sie sich die Ordnerstruktur von Truffle ansehen, sehen Sie eine Datei mit dem Namen 1_initial_migration.js . Diese Datei stellt den Migrations.sol-Vertrag in der Ethereum-Blockchain bereit.
Migrationen ermöglichen Ihnen Folgendes:
- Legen Sie die maximale Gasgrenze für Einsätze fest
- Ändern oder ändern Sie die von der Adresse der Bereitstellungen.
- Rufen Sie beliebige Vertragsfunktionen auf.
- Bibliotheken bereitstellen
Testordner
Wenn es um Smart Contracts geht, ist Testen ein Muss! Glücklicherweise verfügt Truffle über ein integriertes Test-Framework, mit dem Sie Tests in Solidity oder JavaScript schreiben können. Wenn Sie Ihre Tests in Solidity schreiben, müssen Sie die Smart Contracts mit der Solidity-Importrichtlinie in die Tests importieren, etwa so:
importiere „../verträge/MetaCoin.sol“;
Wenn Sie jedoch Tests in JavaScript schreiben, müssen Sie diese mithilfe der Hilfsfunktion „artifacts.require()“ wie folgt importieren:
var MetaCoin = artifacts.require(./MetaCoin.sol”);
Konfigurationsdatei
Die Konfigurationsdatei, auch bekannt als truffle.js oder truffle-config.js, definiert, wie Truffle eine Verbindung zu Ethereum-Netzwerken herstellen kann, zusammen mit den folgenden Dingen:
- Umgebungen – Sie können die Adresse der Geth-Notiz, die Netzwerk-ID, das maximale Gaslimit für den Einsatz und den Gaspreis, den Sie zu zahlen bereit sind, definieren.
- Projektstruktur – Sie können den Speicherort ändern, an dem die Dateien erstellt und gespeichert werden.
- Compiler-Version und -Einstellungen – Sie können die Solc-Version reparieren und -O-Parameter (Optimierung) festlegen.
- Paketverwaltung – Truffle ist mit EthPM (Ethereum Package Manager) kompatibel. Sie können Abhängigkeiten für EthPM für Ihre Truffle-Projekte einrichten.
- Projektbeschreibung – Sie gibt an, wer das Projekt entwickelt hat, gibt den Projektnamen, Kontaktadressen usw. an.
Lesen Sie auch: Blockchain-Projektideen für Anfänger
Wie führe ich Smart Contracts aus?
Hier sind die verschiedenen Möglichkeiten, Smart Contracts auszuführen –
- Zum Kompilieren von Smart Contracts müssen Sie den folgenden Code ausführen:
Trüffel kompilieren
- Zum Ausführen von Migrationen müssen Sie den folgenden Code verwenden:
Trüffel wandern
Sie können dies auch tun, indem Sie eine bestimmte Umgebung erwähnen:
Truffle Migration – Netzwerk live

- Zum Testen von Smart Contracts können Sie den folgenden Code ausführen:
Trüffel-Test
Sie können auch einen bestimmten Test ausführen, indem Sie den folgenden Code verwenden:
Trüffeltest ./path/to/FileTest.sol
In diesem Beitrag haben wir uns zum Ziel gesetzt, Ihnen die Grundidee von Truffle Etheruem und seine Funktionsweise zu vermitteln. Truffle ist ein leistungsstarkes Tool, das die Entwicklung von DApps und Smart Contracts viel bequemer macht, indem es die Standardentwicklungspraktiken in das Blockchain-Bild einbringt.
Einpacken
Es gibt einen Anstieg der Karrieren in der Blockchain-Technologie und Blockchain hat das Gesicht der Technologiebranche für immer enorm verändert. Wenn Sie daran interessiert sind, Blockchain-Entwickler zu werden und Smart Contracts und Chaincodes zu erstellen, sehen Sie sich das Advanced-Zertifikatsprogramm von IIIT-B & upGrad in Blockchain-Technologie an .
Was ist Vyper auf Ethereum?
Vyper ist eine vertragsorientierte, statistisch typisierte, pythonische Programmiersprache, die auf die virtuelle Welt von Ethereum abzielt. Es wurde als Verbesserung gegenüber Solidarity entwickelt. Die Hauptprinzipien und Ziele von Vyper sind Sicherheit, Einfachheit der Sprache und des Compilers sowie Überprüfbarkeit. Vyper ist eine stark typisierte Sprache und erlaubt daher nicht, dass ein Datentyp für einen anderen verwendet wird. Es verfügt über viele zusätzliche Funktionen wie Begrenzungs- und Überlaufprüfung, starke Typisierung, kleine und verständliche Compilerseiten, eingeschränkte Unterstützung für reine Funktionen, Unterstützung für vorzeichenbehaftete Ganzzahlen und dezimale Festkommazahlen sowie Entscheidbarkeit. Es hat auch eine einfache Syntax, die es Entwicklern unmöglich macht, mehrdeutige Programme zu codieren.
Welche Nachteile haben Smart Contracts?
Smart Contracts leiden, obwohl sie so viele Verwendungsmöglichkeiten und eine breitere Popularität haben, unter vielen Einschränkungen. Es gibt eine gute gesetzliche Regelung für die Durchsetzung von Smart Contracts, was sie anfälliger für Cyberangriffe macht. Eine Änderung des Smart-Contract-Prozesses ist nahezu unmöglich, da jeder Codefehler zeitaufwändig und teuer zu korrigieren ist. Die Einbindung Dritter wird zwar deutlich reduziert, kann aber nicht vollständig eliminiert werden. Zum Beispiel brauchen Entwickler Anwälte, um die Bedingungen zu verstehen, um Codes für Smart Contracts zu erstellen. Smart Contracts haben auch eine hohe Abhängigkeit von Programmierern und sind Bugs ausgesetzt, was ein erheblicher Nachteil ist.
Was sind Netzwerk- und Paketverwaltung in Blockchain?
Ein Paketmanager hilft Ihnen, die Installation, Aktualisierung, Konfiguration und Entfernung von Anwendungen zu automatisieren. Sie werden in Betriebssystemen und Programmierumgebungen verwendet und helfen, die Abhängigkeitshölle zu vermeiden. Zu den Schlüsselfunktionen von Paketmanagern gehören das Sicherstellen der Authentizität des Pakets, das Herunterladen von Software aus einem Online-Repository, das Aktualisieren vorhandener Software usw. Es gibt viele Arten von Paketmanagern, Binärpaketen, quellcodebasierten Paketen, Hybridsystemen, Metapaketmanagern und Anwendungen -basierte Manager usw. Es gibt auch Blockchain-bezogene Paketmanager. Einer dieser Manager ist der Node Package Manager. NPM ist die größte Softwareregistrierung der Welt, die es Einzelpersonen ermöglicht, gemeinsam genutzte Ressourcen über ihr Open-Source-Repository zu nutzen.