Erfahren Sie, wie Sie mit Angular 9 – Part IV Truffle Ihr eigenes Dapp erstellen.

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining


In diesem sechsteiligen Artikel erfahren Sie, wie Sie mit Angular ein Dapp erstellen. In Teil I, der als Einführung diente, befassten wir uns mit allgemeinen Informationen zur Entwicklung der Vorteile und Klassifizierung von dapp. Nutzen durch Angular, Angular-Architektur. Du solltest dort anfangen.

In den vorherigen Artikeln haben wir begonnen, unser App zu entwickeln. Speziell,
Wir haben etwas über Dapp-Klassifikationen und -Projekte gelernt und das können Sie
brechen sie ihr eigenes dapp projekt in fünf schritte.

Wir haben uns dann angesehen, warum Angular verwendet wird und welche Vorteile es bietet. Als Nächstes haben wir ein Angular-Projekt erstellt, wobei zuerst sichergestellt wurde, dass die Voraussetzungen installiert wurden, und anschließend die Angular-CLI installiert wurde.

Wir haben uns die Teile angesehen, aus denen Angular besteht, z. B. Komponenten, Module und Anweisungen. Wir haben auch gelernt, wie man ein Dapp erstellt, indem wir die Architektur im Angular-Stil verstanden und mit Angular Material gearbeitet haben.

Wir haben begonnen, unsere eigenen benutzerdefinierten Komponenten zu erstellen und Inhalte zu erstellen. Wir haben die App in eine Fußzeile, eine Kopfzeile und einen Textkörper aufgeteilt und eine benutzerdefinierte Übertragungskomponente erstellt, die Sie in diesem Artikel verwenden werden.

In diesem Artikel erstelle ich den Smart-Vertrag für dapp mit Truffle. In Teil V, VI werden wir Folgendes behandeln:

  • Teil V; Integrieren eines intelligenten Vertrags in Angular Ihrer App
    Projekt
  • Teil IV; Verknüpfe und verbinde dein dapp mit dem Ethereum
    Netzwerk

Sie verwenden die folgenden Tools: Angular CLI, Truffle, Ganache-CLI und MetaMask.

Wir erstellen einen intelligenten Vertrag, den Sie für Ihre App mit Truffle verwenden. Anschließend stellen Sie über die Web3-Bibliothek eine Verbindung zum lokalen Ethereum-Netzwerk her und rufen die Funktionen und Ereignisse des intelligenten Vertrags auf. MetaMask wird verwendet, um Ihr Konto zu verwalten und eine Verbindung herzustellen.

Sie haben bereits die Front-End-Logik zum Übertragen von Tokens in Ihrer App
die vorhergehenden Artikel; Sie haben jedoch keinen intelligenten Vertrag für die Interaktion
mit der Blockchain. Intelligente Verträge können vor dem Frontend erstellt werden
Teil, nach oder parallel (wenn Sie mit einem Entwicklerteam arbeiten).

Zunächst legen Sie in Ihrem ethdapp-Projekt einen neuen Ordner an
Halten Sie das Truffle-Projekt.

In realen Projekten mit mehreren Entwicklern könnte der Smart Contract
ein separates Projekt sein. Der Einfachheit halber werden Sie es in Ihr Projekt aufnehmen
So können Sie die untere Registerkarte des WebStorm-Terminal-Fensters zum Ausführen verwenden
befehle.

Trüffelsuite
Sie werden Truffle als eines der beliebtesten Tools verwenden
Integrierte Bibliotheken, die den Entwicklungszyklus beschleunigen. Trüffelsuite
enthält Trüffel, Ganache und Nieselregen;

„Truffle ist eine Entwicklungsumgebung, die das Framework testet
und Asset-Pipeline für Ethereum mit dem Ziel, das Leben als ein Unternehmen zu gestalten
Ethereum-Entwickler einfacher. ”- https://github.com/trufflesuite/truffle

Um Truffle global auf Ihrem Computer zu installieren (zum Zeitpunkt des Schreibens ist die aktuelle Version von Truffle 5.1.6), wird npm verwendet.

Erstellen Sie zunächst in Ihrem Projekt einen Ordner mit dem Namen truffle und
Initialisieren Sie Truffle, um das Projekt zu erstellen. Sie können die erwartete Ausgabe in sehen
Abbildung 10-1.

cd ~ / Desktop / ethdapp
mkdir Trüffel
CD-Trüffel
npm install -g Trüffel
Trüffel init
Abbildung 1. Ausgabe der Erstellung eines Truffle-Projekts

Trinkgeld Wenn Sie Truffle bereits installiert haben und Fehler wie "Fehler: Truffle Box" erhalten, deinstallieren Sie Truffle, installieren Sie es erneut und versuchen Sie es erneut. Um Trüffel im Falle von Fehlermeldungen erneut zu installieren, entfernen Sie den Trüffel global, installieren Sie ihn erneut und befolgen Sie die nachstehenden Schritte.

npm uninstall -g truffle

Führen Sie nach der Neuinstallation oder einer Neuinstallation den Befehl truffle init aus
Befehl erneut und stellen Sie sicher, dass Sie den Test in einem neuen Terminal-Fenster ausführen
um sicherzustellen, dass die Änderungen angewendet wurden.

Trüffel zusammenstellen
Trüffel wandern
Trüffeltest

Wir erstellen einen intelligenten Vertrag und nennen ihn Transfer.sol. Stell es hier ab:

Trüffel / Verträge / Transfer.sol

Mit dem Vertrag können Sie Geld von einem Konto auf ein anderes überweisen.

Navigieren Sie dazu zunächst zum Speicherort der Verträge in Truffle und erstellen Sie mit einem Editor eine neue Datei.

cd ethapp / trüffel / verträge
vim Transfer.sol

Der vollständige Transfer.sol-Code ist hier aufgelistet:

Pragma Solidität ^ 0,5,0;
Vertrag Transfer {
Adresse zahlbar von;
Adresse zahlbar zu;
Konstrukteur() Öffentlichkeit {
from = msg.sender;
}
Veranstaltung Zahlen(Adresse _zu, Adresse _von, uint amt);
Funktion Zahlen( Adresse zahlbar _to) öffentliche zu zahlende Renditen
(Scheiße) {
to = _to;
to.transfer (msg.value);
emittieren Pay (to, from, msg.value);
return true;
}
}

Lassen Sie uns den Code durchgehen. Zunächst müssen Sie die Solidität definieren
verwendete Version und den Vertragsnamen.

Pragma Solidität ^ 0,5,0;
Vertrag Transfer {
Adresse zahlbar von;
Adresse zahlbar zu;
Konstrukteur() Öffentlichkeit {
from = msg.sender;
}

Sie verwenden ein Pay-Ereignis, das nach Zahlungseingang ausgelöst wird
Die Funktion wird verwendet.

Event Pay (Adresse _to, Adresse _from, uint amt);

Die Bezahlfunktion verwendet das Pay-Ereignis, um mit dem Netzwerk und zu interagieren
mach den eigentlichen transfer.

Funktion Zahlen( Adresse zahlbar _to) öffentliche zu zahlende Renditen
(Scheiße) {
to = _to;
to.transfer (msg.value);
emittieren Pay (to, from, msg.value);
return true;
}

Das ist es. Sie haben es mit nur einem Ereignis und einer Funktion einfach und einfach gehalten.

Der nächste Schritt ist das Ersetzen der

truffle / truffle-config.js 

Datei mit folgender Konfiguration:

module.exports = {
Netzwerke: {
Entwicklung: {
Host: "127.0.0.1",
Port: 8545,
Netzwerk ID: "*",
Gas: 5000000,
Gaspreis: 100000000000
}
}
};

Beachten dass Sie auf Port 8545 zeigen, was Ihnen beim Ausführen hilft
MetaMask später.

Die andere Konfigurationsdatei, die Sie benötigen, ist die Bereitstellungsvertragsdatei. Ein … kreieren
Bereitstellungsdatei und rufen Sie es auf

truffle / migrations / 2_deploy_contracts.js

In dieser Konfigurationsdatei müssen Sie lediglich auf den Smart Contract SOL übertragen verweisen
Code, den Sie erstellt haben.

var Transfer = artifacts.require ("./ Transfer.sol");
module.exports = Funktion(Bereitsteller) {
deployer.deploy (Transfer);
};

Installieren Sie Ganache
Zunächst können Sie Ganache global mit npm installieren und bestätigen, dass dies der Fall ist
korrekt arbeiten, indem Sie den Befehl help aufrufen.

[sudo]  npm install -g ganache-cli
Ganache-Cli-Hilfe

Wenn Sie Installationsprobleme haben oder weitere Informationen benötigen
Informationen zum Tool finden Sie auf der Ganache GitHub-Seite: https://github.com/trufflesuite/ganache-cli.

Sie können die CLI-Version auch überprüfen, indem Sie den folgenden Befehl ausführen:

ganache-cli -v

Zum Zeitpunkt des Schreibens + ganache-cli@6.7.0.

Jetzt können Sie Ihr Netzwerk auf Port 8545 mit Ganache erstellen.
Navigieren Sie also zum Truffle-Projekt und führen Sie den folgenden Befehl aus:

CD Ethdapp / Trüffel
ganache-cli -p 8545

Als nächstes kompilieren und implementieren wir in einem neuen Terminalfenster Ihre
Vertrag solange Ganache noch läuft.

Trüffel zusammenstellen

Die kompilierte Ausgabe sollte erfolgreich sein und Ihren Vertrag in erstellen
den Vertragsordner.

Erstellen Sie Ihre Verträge ...

Die Datei, die erstellt wurde, ist Transfer.json, die Sie in verwenden werden
Ihre App, um mit dem Netzwerk zu interagieren. Als Nächstes stellen Sie Ihren Vertrag bereit
mit dem Befehl migrate.

> Trüffelmigration - Netzwerkentwicklung

Die Ausgabe sollte bestätigen, dass der Vertrag in das Netzwerk migriert wurde.
wie in Abbildung 2 gezeigt.

Abbildung 2. Trüffelmigrationsprojekt

Die Ausgabeübersicht sollte auch zeigen, dass die Bereitstellung erfolgreich war und eine Gebühr anfällt.

Zusammenfassung
=======
> Gesamtbereitstellungen: 2
> Endgültige Kosten: 0.049916 ETH

Nachdem Sie den Vertrag kompiliert und bereitgestellt haben, können Sie mit ihm interagieren
Starten Sie im Netzwerk eine Konsole, wie hier gezeigt:

Trüffelkonsole - Netzwerkentwicklung

Eine gute Ressource für die Befehle, die Sie für die Truffle-CLI ausführen können
ist auf der Ethereum JavaScript API Wiki Seite hier: https://github.com/
ethereum / wiki / wiki / JavaScript-API.

Wenn Sie getAccounts ausführen, wird eine Liste der mit Ihrem verbundenen Konten angezeigt
Brieftasche.

Trüffel (Entwicklung)> web3.eth.getAccounts ()

Sie können dann Adresse1 und Adresse2 als erste und zweite definieren
Konten.

trüffel (entwicklung)> web3.eth.getAccounts (). then (funktion (a) {adresse1 = a[0]})

Nachdem sie definiert wurden, können Sie sie aufrufen und das erste und das erste abrufen
zweite Konten in der Ausgabe.

Trüffel (Entwicklung)> Adresse1

Sie können getBalance auch verwenden, um das Guthaben abzurufen, das Sie unter diesen Adressen haben.

Trüffel (Entwicklung)> web3.eth.getBalance (Adresse1)
"99942134400000000000"

Nachdem Sie zwei Adressen definiert haben, kennen Sie den Kontostand
Auf diesen Konten können Sie Ihren Vertrag definieren und Geld überweisen
zwischen den Konten. Definieren Sie dazu zunächst den Vertrag und rufen Sie ihn auf
transferSmartContract.

Trüffel (Entwicklung)> Transfer.deployed ().
then (function (instance) {transferSmartContract = instance;})

Führen Sie als Nächstes die von Ihnen definierte Variable transferSmartContract aus, um dies sicherzustellen
gearbeitet und zeigen den Objektwert.

Trüffel (Entwicklung)> transferSmartContract

Jetzt können Sie mit Ihrem Smart-Vertrag Geld zwischen den beiden überweisen
Konten. Konto 2 hat eine schöne runde Nummer, so dass Sie 5 Eth übertragen.

Trüffel (Entwicklung)> transferSmartContract.pay (Adresse2, {von: Adresse1, Wert: 5});

Die Befehlsausgabe zeigt Informationen zur Transaktion und
Bergbau. Jetzt können Sie den Kontostand aktualisiert sehen.

web3.eth.getBalance (address1);
"99942134399999999995"

Wie Sie sehen, hat sich der Kontostand geändert, und Sie konnten übertragen
Token zwischen zwei Adressen.

In diesem Artikel haben wir einen intelligenten Transfervertrag und Trüffel erstellt
Entwicklungsprojekt sowie mit der lokalen Entwicklung Ganache verbunden
Netzwerk. Wir haben über Truffle gelernt, mit dem Ethereum-Netzwerk zu arbeiten
und wie Sie Ihren Smart-Vertrag testen. Wir haben den Geldtransfer mit einem intelligenten Vertrag über die Kommandozeile getestet.

Folgen Sie unseren Artikeln wie in den nächsten Artikeln, die wir behandeln werden.

  • Teil V – Integrieren der kluge vertrag mit dem dapp
  • Teil VI – Verknüpfen und verbinden Sie Ihre App mit dem Ethereum-Netzwerk

Um mehr über die Möglichkeiten von Blockchain zu erfahren und ein eigenes Projekt zu entwickeln, besuchen Sie The Blockchain Developer.

Du kannst mir auf Medium folgen, um weitere Posts wie diese zu sehen und mich auf zu finden Twitter auch. Starten Sie Ihr eigenes Blockchain-Projekt, benötigen Sie einen Startberater? Sprechen Sie mich auf Linkedin an.



Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close