


TRUFFL: Ein leistungsstarkes Tool zur Vereinfachung der Entwicklung von Smart Contracts
TRUFFL ist eine beliebte Blockchain -Smart Contract -Suite, mit der die Entwicklung, das Testen und die Bereitstellung von intelligenten Verträgen zu vereinfachen und zu standardisieren. Es unterstützt mehrere Versionen des Solc-Compilers, ermöglicht eine umweltspezifische Konfiguration, integriert die Web3.JS-Schnittstelle für eine einfache Kommunikation mit intelligenten Verträgen und verfügt über ein integriertes Testframework.
TRUFFL -Installation und -vorbereitung
Die beste Möglichkeit, TRUFFL zu installieren, besteht darin, den Node Package Manager (NPM) zu verwenden. Sobald die Installation abgeschlossen ist, kann der Entwickler ein Demo -Projekt einrichten, um zu verstehen, wie es funktioniert. TRUFFL bietet auch eine strukturierte Projektumgebung mit bestimmten Ordnern für Verträge, Migrationen und Tests sowie eine Konfigurationsdatei zur Verwaltung der Umgebung, der Projektstruktur, der Compiler -Versionen und der Einstellungen.
TRUFFS -Kernfunktionen
Hauptmerkmale der TRUFFL sind: Automatische Vertragstests, skriptierbare Bereitstellungs- und Migrations -Frameworks, interaktive Konsolen für die Direktvertragskommunikation und die Integration mit Ganache für die Vertragsbereitstellung und -prüfung. Es integriert sich auch in Nieselregen, um das Schreiben von DApp Front-End einfacher und vorhersehbarer zu machen.
Herausforderungen der frühen intelligenten Vertragsentwicklung
In den frühen Tagen der intelligenten Vertragsentwicklung (ca. 2016) schrieben Entwickler häufig intelligente Verträge mit ihren bevorzugten Texteditoren und bereiteten sie mit direktem Ruf von Geth und Solc bereit. Um die Benutzerfreundlichkeit zu verbessern, schreiben Entwickler Bash -Skripte, kompilieren zuerst und stellen dann Verträge ein. Dies ist jedoch noch relativ einfach, fehlt die Standardisierung und verfügt über schlechte Benutzererfahrung.
Trüffel und Einschiffe entstanden, um diese Probleme zu lösen, und Trüffel wurde aufgrund seiner höheren Penetration zum Schwerpunkt dieses Artikels.
TRUFFS zielt darauf ab, die folgenden Probleme zu lösen:
- Zusammenstellung: Unterstützen Sie gleichzeitig mehrere Versionen des Solc -Compilers und geben Sie klar an, welche Version verwendet werden soll.
- Umgebung: Verträge müssen Entwicklungs-, Integrations- und Produktionsumgebungen haben. Jede Umgebung verfügt über eine eigene Ethereum -Knotenadresse, Konto usw.
- Test: Verträge müssen prüfbar sein. Die Bedeutung der Testsoftware kann nicht überbewertet werden. Testen Sie also Ihren Vertrag!
- Konfiguration: Entwicklungs-, Integrations- und Produktionsumgebungen sollten in Konfigurationsdateien eingekapselt werden, damit sie von den Teammitgliedern an Git übermittelt und wiederverwendet werden können.
- Web3JS -Integration: Web3.js ist ein JavaScript -Framework, mit dem die Kommunikation von Webanwendungen zu intelligenten Verträgen vereinfacht wird. TRUFFL geht noch einen Schritt weiter und ermöglicht die Verwendung der Web3.js -Schnittstelle in der Trüffelkonsole, um Webfunktionen im Entwicklungsmodus (außerhalb des Browsers) aufzurufen.
TRUFF -Projektstruktur
Eine typische Trüffelprojektstruktur lautet wie folgt:
<code>. ├── contracts │ ├── ConvertLib.sol │ ├── MetaCoin.sol │ └── Migrations.sol ├── migrations │ ├── 1_initial_migration.js │ └── 2_deploy_contracts.js ├── test │ ├── TestMetacoin.sol │ └── metacoin.js ├── truffle-config.js └── truffle.js</code>
Die Funktionen jedes Ordners sind:
- Verträge Ordner: Speicher aller intelligenten Verträge. Die Datei der Migrations.sol ist eine spezielle Datei für die Vertragsmigration.
- Migrationsordner: enthält Skripte, die definieren, wie Verträge in der Blockchain bereitgestellt werden.
- Testordner: enthält Vertragstestfälle, die mit Solidity oder JavaScript geschrieben werden können.
- truffle-config.js oder truffel.js Datei: Konfigurationsdatei, definiert die Umgebung, die Projektstruktur, die Compiler-Version und die Einstellungen usw.
Vertragsmigration und Test
Migrationsskripte definieren den Prozess der Vertragsbereitstellung in der Blockchain, sodass das maximale Gas festgelegt wird, die Sendeadresse der Bereitstellung geändert und die Vertragsfunktion aufgerufen wird. Die erste Migration (1_initial_Migration.js) setzt den Migrationsvertrag für die Blockchain ein.
integriertes Testframework mit Trüffel, sodass Entwickler Soliditäts- oder JavaScript-Testfälle schreiben können.
Konfigurationsdatei (truffle.js/truffle-config.js)
Die Konfigurationsdatei definiert Folgendes:
- Umgebung: Entwicklung, Testnetzwerk, Produktionsumgebung. Die Geth -Knotenadresse, die Netzwerk -ID, der maximale Gas und der Gaspreis für die Bereitstellung können definiert werden.
- Projektstruktur: Sie können den Dateikonstruktions- und Speicherort ändern, jedoch wird keine Änderung empfohlen.
- Compiler -Version und Einstellungen: SELC -Version und Optimierungsparameter.
- Paketverwaltung: kann mit ETHPM (Ethereum Paket Manager) verwendet werden, um ETHPM -Abhängigkeiten festzulegen.
- Projektbeschreibung: Projektersteller, Projektname, Kontaktadresse usw.
- Grenze: Zum Beispiel GPLV3.
Code ausführen
- Kompilierungsvertrag:
truffle compile
- Führen Sie die Migration aus:
truffle migrate
odertruffle migrate --network live
(angegebene Umgebung) - Test:
truffle test
odertruffle test ./path/to/FileTest.sol
(Testdatei angeben)
Zusammenfassung
TRUFFL ist ein sehr bequemes Werkzeug, das die Entwicklung in diesem neuen Ökosystem erleichtert. Ziel ist es, Standards und gemeinsame Praktiken aus anderen Entwicklungsbereichen in den Bereich des Blockchain -Experimentierens einzuführen.
FAQ
In diesem Artikel wurden die Kernfunktionen und Verwendungsmethoden der TRUFFL im Detail eingeführt und Antworten auf gemeinsame Fragen enthält. Um Trüffel tiefer zu verstehen, wird die Leser empfohlen, das eigentliche Projekt zu üben.
Das obige ist der detaillierte Inhalt vonEinführung von Trüffel, eine Blockchain Smart Contract Suite. 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

Dieser GO-basierte Netzwerkanfälligkeitsscanner identifiziert potenzielle Sicherheitsschwächen effizient. Es nutzt die Parallelitätsfunktionen von GO und beinhaltet die Erkennung und Anfälligkeitserkennung. Erforschen wir seine Fähigkeiten und ethisch


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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Dreamweaver CS6
Visuelle Webentwicklungstools

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.
