Entwicklung von Ethereum DApps mit Truffle, Ganache und MetaMask

  • Plugin: Metamaske
  • Rahmen: Trüffel
  • Serverumgebung: NodeJS
  • Intelligente Vertragssprache: Solidität
  • Bibliothek: Web3.js
  • Ethereum-Blockchain-Simulator: Ganach-CLI

Quellcode

DApps-Architektur

Wenn Sie daran interessiert sind, Web-Apps mit die Ethereum-Blockchainhast du vielleicht schon gefunden das Truffle-Webframework eine gute Passform für Ihre Bedürfnisse sein.

Für viele Arten von DApps (Distributed Apps) macht Truffle alles, was Sie sich wünschen können: Es kompiliert Ihre Blockchain-Verträge, fügt sie in Ihre Web-App ein und kann sogar eine Testsuite gegen sie ausführen!

Mit MetaMask müssen Ihre Benutzer nichts weiter tun Installieren Sie unser Chrome-Pluginund sie werden ihre eigenen sicheren Blockchain-Konten direkt dort in der Bequemlichkeit ihres Browsers haben.

Truffle-Abhängigkeiten installieren

Sie müssen installiert haben Node.js.

Von dort aus müssen Sie Truffle installieren (npm install -g truffle).

Außerdem müssen Sie einen lokalen Blockchain-RPC-Server zum Testen und Entwickeln ausführen. Ich empfehle die Verwendung Ganachedie Sie durch Ausführen installieren npm install -g ganache-cli.

Als nächstes stellen wir sicher, dass wir unsere haben ganache läuft im Hintergrund. Öffnen Sie Ihr Terminal und führen Sie den Befehl aus ganache-cli. Das ist alles! Es läuft auf Hafen 8545standardmäßig, genau wie die meisten Ethereum-RPCs, und Truffle auch.

Beachten Sie auch, wann ganacheBeim ersten Start druckt es eine Liste von Konten aus, die mit Ether vorfinanziert werden, zusammen mit einer Seed-Phrase aus zwölf Wörtern zur Neugenerierung dieser Konten. Sie können diese Startphrase verwenden, um Ihren MetaMask-Client mit denselben Konten zu initialisieren, und Sie werden viel Ether haben, wenn Sie anfangen! (Ether wird verwendet, um für die Netzwerknutzung oder Gas im Ethereum-Netzwerk zu bezahlen)

Wenn Sie anfangen wollten ganacheMit den Konten, die Sie bereits in MetaMask haben, können Sie das erkennen ganachewelche Seed-Phrase mit dem verwendet werden soll -m Flagge. Zum Beispiel:

$ ganache-cli -m "concert load couple harbor equip island argue ramp clarify fence smart topic"

Einrichten eines einfachen Truffle Dapp

Als Nächstes generieren wir ein einfaches Trüffel-Dapp. Das Standardergebnis von truffle initist eine einfache Beispielwährung.

Führen Sie die folgenden Befehle aus, um es zum Laufen zu bringen:

mkdir metacoin# Create a folder for your new dapp

cd metacoin# Move into that folder

truffle init # Initialize a default truffle project in that folder

truffle compiler

truffle migrate # Build, compile, & deploy the dapp

truffle test test/metacoin.js

Metamaske einrichten

Wenn Sie es besuchen, werden Sie sehen, dass diese neue Dapp-Vorlage Sie standardmäßig mit dem ersten Konto auf Ihrem anmeldet ganache-cli Kontoliste, die zufällig dasselbe Konto ist, das mit 10.000 glänzenden neuen Metacoins vorbelegt wurde! Das ist, weil, als Sie rannten truffle migrateTruffle hat Ihr erstes Konto als Vertragsherausgeber verwendet, und der Vertrag besagt, dass das Konto des Erstellers mit 10.000 Münzen finanziert werden soll.

Sie können diese Münzen jetzt an ein beliebiges Konto senden, z. B. das zweite Konto in Ihrem ganache-cli aufführen! Wenn Sie eine Adresse und einen Wert eingeben und auf „Senden“ klicken, sinkt Ihr Guthaben!

Wenn Ihnen das etwas zu einfach erscheint, würde ich Ihnen zustimmen! Aus diesem Grund gibt Metamask dem Benutzer die Möglichkeit, jede Transaktion zu genehmigen, die ein Dapp versucht, und das ist sicherer!

Versuchen wir, uns über Metamask mit demselben Konto zu verbinden, und sehen, wie einfach es ist!

Metamaske einrichten

Jetzt möchten Sie installieren Metamask aus dem Chrome Store.

Bitte sehen Sie, wie es geht Metamaske installieren

  1. MetaMask öffnen
  2. Klicken Sie oben rechts auf den aktuellen Netzwerknamen.
  3. Auswählen Custom RPC
  4. Legen Sie den aktuellen RPC festLocalhost:8545die Anschrift.

  1. Füllen Sie das zweite Konto (0x035b9094158fc6af051242b6c04444c017b7e17c) und den Betrag von 3 aus

  1. Sie sehen das Ergebnis der Transaktion.

Dies war ein einfaches Beispiel, zeigt aber hoffentlich, wie Truffle und Metamask zusammenarbeiten. Sie können so ziemlich out of the box arbeiten! Das liegt daran, dass Truffle Ihnen beim Schreiben hilft web3-konforme dapps. Web3 ist eine Javascript-API, die vom Ethereum-Kernteam deklariert wurde, und Metamask fügt sie direkt in den Kontext von Dapp ein!

Similar Posts

Leave a Reply

Your email address will not be published.