Reading

Smart Contract Development on Layer 1 EVM Blockchains

Kurs: Entwicklung von Smart Contracts auf Layer 1 EVM Blockchains

Smart Contract Development on Layer 1 EVM Blockchains

Kurs: Entwicklung von Smart Contracts auf Layer 1 EVM Blockchains

Einführung

83 Ressourcen | 204+ Stunden

Die Entwicklung von Blockchains und dezentralen Anwendungen (Dapps) explodiert an Beliebtheit, einige nennen es sogar das nächste disruptive Paradigma, neben dem Internet und Mobiltelefonen. Die Blockchain ist eine neue Technologie, die als dezentrales, Peer-to-Peer-verwaltetes digitales Hauptbuch funktioniert. Noch beeindruckender ist, dass sie das (angeblich) unlösbare Problem des „Doppelausgebens“ mit einem dezentralen Ansatz löst (im Gegensatz zum konventionellen, zentralisierten Ansatz, der eine vertrauenswürdige dritte Partei zur Überwachung aller Übertragungen erfordert), was ein kryptografisches Problem erfordert, das innerhalb eines festgelegten Zeitrahmens mathematisch gelöst werden muss. Dies wird als Proof of Work (PoW) bezeichnet und stellt sicher, dass Transaktionen unumkehrbar und endgültig sind. Hunderte von kryptografischen Währungen (auch bekannt als Kryptowährungen) sind derzeit im Umlauf, die bekanntesten sind Bitcoin und Ethereum. Abgesehen davon, dass sie nur digitale Währungsformen sind, sind einige auch Blockchain-Entwicklungsplattformen und -Frameworks. Diese Kombination hat zu einem starken Wachstum und Investitionen in diesen Bereich geführt.

Einige der bekanntesten Blockchain-Entwicklungsplattformen sind Ethereum, Hyperledger (Fabric, Iroha, Sawtooth Lake), Multichain, Stellar, Dispatch und NEO. Für die Zwecke dieses Lernpfads liegt der Schwerpunkt auf der Ethereum-Plattform, da die überwiegende Mehrheit der 1.500 digitalen Währungen, die heute im Umlauf sind, auf der technologischen Grundlage von Ethereum aufgebaut sind.

Warum dieser Kurs?

Wenn Sie ein Entwickler oder Manager sind, der neugierig darauf ist, worum es bei dieser ganzen Blockchain-Bewegung geht, dann ist dieser Kurs genau das Richtige für Sie! Dieser Lernpfad bietet Ihnen nicht nur einen breiten Überblick über die Ethereum-Technologielandschaft, sondern kann auch als Referenzleitfaden dienen, während Sie verteilte Hauptbuchtechnologie (d.h. Blockchain) und dezentralisierte Anwendungen entwickeln. Viele dieser Erkenntnisse sind auf andere Blockchain-Plattformen übertragbar und können als Grundlage dienen, um Ihre Entwicklungsziele zu erreichen.

 

Für wen ist dieser Kurs?

Dieser Kurs richtet sich an Softwareingenieure, Informatiker oder Produktentwickler, die lernen möchten, wie man dezentralisierte (oder zentralisierte) Anwendungen mit Blockchain-Technologie entwickelt. Das Endergebnis kann ein neues Blockchain-Protokoll, eine alternative Kryptowährung oder eine Anwendung sein, die im Ethereum-Technologiestack läuft. Idealerweise richtet sich dieser Kurs an jemanden mit praktischer Erfahrung in Java, C#, Golang oder Python, der über Kenntnisse in Node.js, GIT-Repositories oder ähnlichen Quellcodeverwaltungssystemen verfügt.

 

1.0 Einführung in den Blockchain-Anwendungsstack

1.1 Blockchain-Anwendungsstack [45m]

Um als Blockchain-Entwickler erfolgreich zu sein, müssen Sie sich zunächst mit dem Blockchain-Anwendungsstack vertraut machen. Die Schichten sind:

  • Grundschicht ist die Infrastruktur-Schicht, in der die Computer-/Speicher-/Netzwerk-/Virtualisierung stattfindet, dies kann intern oder mit einer etablierten Blockchain as a Service (BaaS)-Lösung erfolgen.
  • Die nächste Schicht konzentriert sich auf das Netzwerk und Protokoll, entscheidet, welche Art von Blockchain Sie erstellen möchten (permissionless wie Bitcoin oder Ethereum oder permissioned wie R3), Entwicklungsplattform, Netzwerkteilnehmende Knoten Konsensalgorithmus (z.B. Proof of Work (PoW), Proof of Stake (PoS), Hybrid usw.)
  • Die nächste Schicht ist die Dienste-Schicht, die den Betrieb der Anwendung (eine Schicht höher) ermöglicht und die Verbindungen zu verschiedenen Funktionen wie Oracles (API zu Echtzeitdaten), Smart Contracts, Multisignatur (Mehrparteienvertrag), Wallets, verteilte Dateispeicher und vieles mehr herstellt.
  • Die letzte Schicht ist kunden- oder clientorientiert, das ist die Anwendungs-Schicht, in der die Geschäftslogik und Benutzerinteraktion stattfindet, und dies erfordert die Verwendung verschiedener Programmiersprachen wie C++, Python, Solidity und Java.

1.2 Dezentralisierte Anwendungsinteroperabilität [30m]

Jede Technologie dient einem spezifischen Zweck, und es ist immer eine gute Idee, sich nicht nur mit Ihrem Beitrag zum Anwendungsstack vertraut zu machen, sondern auch verschiedene interoperable Technologien zu verstehen.

1.3 Verteilte Hashtabellen [10m]

Es gibt jetzt eine enorme Menge an Kapital und Finanzierung, die der Krypto-Technologieinfrastruktur und -architektur gewidmet ist, und das zu Recht, die digitale Verrohrung und Verkabelung muss etabliert sein, bevor etwas Sinnvolles produziert werden kann. Es ist auch wichtig, die Autonomie, Dezentralisierung, Fehlertoleranz und Skalierbarkeit von verteilten Hashtabellen (DHT) zu lernen.

1.4 Technologielandschaft [30m]

Diese Karte hebt einige der prominenten Anwendungen hervor, die auf mehreren Blockchains laufen, wie Kryptowährungsbörsen, an denen digitale Währungen gehandelt werden, Zahlungsabwicklungslösungen wie Bitpay und Circle und Ausgabeplattformen (z.B. Produkt, das es Ihnen ermöglicht, virtuelle Vermögenswerte zu tokenisieren, um eine einfache Übertragbarkeit zu ermöglichen).

Blockchain-Entwickler sind in der Regel verantwortlich für das Entwerfen und Bauen branchenspezifischer Lösungen mit Blockchain-Technologie sowie für die Leitung und den Beitrag zum Aufbau der Blockchain-Infrastruktur und zur Lösungsentwicklung unter Verwendung eines prominenten Frameworks. Außerdem sollten sie funktionale Anforderungen, wie sie für die Zielbranche gelten, verstehen und sie in System- und Benutzerspezifikationen für die Entwicklung umwandeln. Schließlich sollten sie Entwicklungsansätze, Best Practices zur Implementierung der Lösungen definieren und alle Entwicklungsframeworks und Designartefakte dokumentieren.

1.5 Typische Blockchain-Anwendungsteamstruktur

Es ist gut zu verstehen, auf welche Position Sie sich zuerst konzentrieren möchten, und während Sie bewerten, an welcher Komponente im Blockchain-Anwendungsstack Sie mitwirken werden, können Sie einen Einblick erhalten, wie diese Konstrukte funktionieren. Im Allgemeinen hätten Sie:

  • Frontend: konzentriert sich auf die Benutzeroberfläche und Benutzererfahrung, dies würde die Verwendung von HTML für die webbasierte Produktentwicklung, CSS Bootstrap zur Gestaltung der bereitgestellten Mockups und die Verwendung von Javascript, jQuery, AngularJS zur Erstellung aller Interaktionen zwischen dem Backend (nächste Schicht nach unten) und der Benutzeroberfläche beinhalten; im Wesentlichen die Anzeige der Informationen, die im Backend produziert werden, z. B. Suchfunktionalität, Aktionen hinter Schaltflächen usw.
  • Backend: dies würde das Einrichten des Cloud-Servers, das Schreiben von APIs in Python, Node.js, Rails, den Aufbau der Datenbank in Mongo, Postgres, Cassandra für ACID-Eigenschaften beinhalten, wobei gesagt werden muss, dass in einer perfekt dezentralisierten Welt die Blockchain, die Sie verwenden, letztendlich Ihre Datenbank wäre, daher würde das Datenbankdesign durch die Notwendigkeit einer zentralisierten vs. dezentralisierten vs. verteilten vs. hybriden Umgebung bestimmt. Diese APIs sind letztendlich entscheidend für die Benutzerverwaltung (wie Anmeldungen, Logins, Logouts, Browsersitzungen), die Ausgabe und den Nutzen hinter den Token, eine Block-Explorer-API, falls benötigt, eine Dashboard-API, um Daten aus der Datenbank zu ziehen, Wallet-Management-API (um Token zu senden und zu empfangen, falls zutreffend), Sicherheits- und Berechtigungsmanagement und das Erstellen von Protokollen und Analysen für alle möglichen Ereignisse. Protokolle/Analysen für alle Ereignisse.
    • Blockchain-Plattform: dies würde das Umwandeln der Dateneingabe in Variablen, das Erstellen von Solidity-Code, die Verwendung der Variablen und das Bereitstellen im Ethereum-Netzwerk (entweder das MainNet / Testnet) unter Verwendung von Solidity beinhalten. Dies könnte das komplizierteste Modul der Lösung sein.

 

2.0 Eine Einführung in Entwicklungsplattformen und Frameworks

Verschiedene Blockchain-Plattformen – Eine kurze Einführung [45m-10h]

Es gibt Dutzende von dezentralisierten Anwendungsframeworks, die auf der Blockchain-Technologie aufbauen, und jede dieser Plattformen verwendet entweder ihre eigene Programmiersprache oder hat eine proprietäre Programmiersprache speziell für diese Plattform erstellt. Einige der bemerkenswerten Beispiele sind: Ethereum, Lisk, Omni, NEO, Ardor, Qtum, Counterparty, Stellar, Waves, Bitshares, Ubiq, NXT und Waltonchain. Dieser Artikel hebt einige der bekannteren Plattformen und Frameworks hervor, die heute umfangreich genutzt werden.

 

3.0 Eine Einführung in Ethereum

Original White Paper [5-10h]

Dies ist immer der erste Schritt in Ethereum, ich empfehle dringend, sich so viel Zeit wie möglich zu nehmen, um dies im Detail zu lesen. Dies ist ein lebendiges und atmendes Dokument, das ständig aktualisiert wird.

Wie funktioniert Ethereum? [45-90m]

Ich würde empfehlen, sich Zeit zu nehmen, um den Inhalt dieses Artikels vollständig zu verstehen. Er ist gut organisiert und beginnt von Anfang an, indem er erklärt, was eine Blockchain ist, das Ethereum-Blockchain-Paradigma erklärt und detailliert auf Transaktionsbestätigungen und Ausführungspläne eingeht.

[Video] Wenn neue Technologien und veraltete Richtlinien aufeinandertreffen [20-40m]

Das Centre for International Governance Innovation (CIGI) ist ein unabhängiger, parteiunabhängiger Think Tank für internationale Governance. CIGIs interdisziplinäre Arbeit umfasst die Zusammenarbeit mit politischen, geschäftlichen und akademischen Gemeinschaften weltweit, und dies ist ein Interview, das von CIGIs Senior Fellow Julie Maupin durchgeführt wurde, in dem sie Vitalik Buterin, den Gründer von Ethereum, bittet, den Vorhang über diese komplexe Plattform und ihre Governance-Implikationen zu lüften. Ihre Diskussion deckt eine breite Palette von Themen ab: Buterins Einführung in Kryptowährungen; die Schaffung von Ethereum; wie Hardware – groß und klein – eine Rolle bei der zukünftigen Entwicklung und Akzeptanz spielt; und Ethereums bevorstehender Übergang vom „Proof of Work“-Modell zum „Proof of Stake“.

Vitalik verbringt jetzt viel weniger Zeit mit der Einreichung von Programmcode-Updates und mehr Zeit mit der Architektur von Ethereum, konzentriert auf Eigenschaften, Effizienz, Einfachheit, Privatsphäre und Skalierbarkeit.

 

3.1 Einführung in Kryptowährungen, Smart Contracts und dezentralisierte Anwendungen

Mit Blockchain-Technologie können Sie Kryptowährungen (von Grund auf neu oder durch das Forken eines bestehenden öffentlichen Code-Repositorys), Smart Contracts (automatische Durchsetzung von Regeln) und dezentralisierte Anwendungen (Programme ohne einen zentralen Eigentümer oder einen einzigen Ausfallpunkt) erstellen. Wenn Ihr Ziel darin besteht, eine neue Kryptowährung zu erstellen und Kapital durch ein Initial Coin Offering (ICO) zu beschaffen, hängt Ihr Entwicklungsprozess davon ab, welche Kryptowährung Sie erstellen möchten, welche Art von Funktionalität und Funktionen Sie haben möchten, die Eigenschaften des Tokens oder der Münze (d.h. wird es minebar oder stapelbar sein, welchen Konsensalgorithmus müssen die betreibenden Knoten zustimmen, welche werden die Hashing-Regeln sein, welcher Typ von Token-Verteilungsmechanismus wird vorhanden sein, welche Eigenschaften der Kryptoökonomie wie Inflationsmaßnahmen werden auf Protokollebene durchgesetzt. Es gibt eine lange Liste von Werkzeugen und Technologien im Ethereum-Ökosystem, und ich habe mein Bestes getan, um einige bemerkenswerte herauszupicken, um Ihnen bei diesem aufregenden Weg zu helfen.

 

3.2 Kryptowährungen

Obwohl theoretisch jede Programmiersprache verwendet werden kann, um entweder eine Kryptowährung oder eine Blockchain zu erstellen, sind die gebräuchlichsten Sprachen Go (Golang), C, C++, Java, Python, Perl und es wäre hilfreich, eine Programmiersprache zu verwenden, die weit verbreitet unterstützt wird und eine blühende und aktive Entwicklergemeinschaft hat. Die offizielle Sprache, in der die Ethereum Virtual Machine (EVM) geschrieben ist, ist Go. Obwohl es ziemlich viele verschiedene Implementierungen gibt, ist der Geth-Client am weitesten verbreitet und Go ist auch die bevorzugte Sprache für einige andere große Projekte, nämlich Cosmos. Das Schöne an Kryptowährungen ist, dass Sie buchstäblich Zugang zu den gesamten Ethereum-Open-Source-Programmierskripten haben und Ihre eigene alternative Münze (Altcoin) erstellen können, indem Sie den Originalcode forken (wenn Sie die vollständige Kontrolle über jeden Aspekt haben möchten), oder einfach ein Token im Ethereum-Netzwerk ausgeben. Es ist wichtig zu erwähnen, dass derzeit über 90% der Kryptowährungen Token oder Vermögenswerte sind, die auf der Ethereum-Plattform ausgegeben werden.

Original Whitepaper von Satoshi Nakamoto [2-4h]

Dies ist die kanonische Definition dessen, was eine Kryptowährung ist, und bietet eine prägnante Erklärung, wie die Bitcoin-Blockchain funktioniert, das verwendete Anreizmodell, wie Privatsphäre hergestellt wird und wie Merkle-Bäume für die vereinfachte Zahlungsverifizierung verwendet werden (sehr wichtiges Konzept für mehrere Kryptowährungen).

3.2.1 Ethereum-Token-Standard

Es ist wichtig, dass Sie sich zunächst mit Ethereum Request for Comments (ERC) vertraut machen, das das offizielle Protokoll zur Vorschlagung von Verbesserungen am Ethereum-Netzwerk ist, das bekannteste ist ERC20 und ERC23 (offiziell bekannt als ERC223) für die Erstellung von Kryptowährungen.

ERC20-Token-Definition [2h-3h]

Diese definierenDiese Liste enthält einige der gängigen Werkzeuge, die Ihnen beim Lernen helfen, einschließlich Dapp (Build-Tool, Paketmanager und Deployment-Assistent) und Solidity REPL (das es Ihnen ermöglicht, sofort mit einer Befehlszeilenkonsole in Solidity zu programmieren).

Full Stack „Hello World“ Voting-App auf Ethereum Tutorial – Teil 1 [2h-10h]

Dies ist ein ausgezeichnetes Schritt-für-Schritt-Tutorial, das in einem gleichmäßigen Tempo durchgeht, wie man eine leistungsstarke, aber einfache Voting-App auf der Ethereum-Plattform entwickelt. Es besteht aus drei Teilen und wurde kürzlich aktualisiert, um von den neuesten Ethereum-Upgrades zu profitieren. Wenn Sie den Code von Grund auf neu schreiben möchten und keinen der Kerninhalte wiederverwenden möchten, wäre dies eine großartige Möglichkeit, zu lernen, wie man Smart Contracts schreibt, es würde jedoch erheblich länger dauern, als nur ein paar Stunden. Das Ziel dieser Übung ist es:

  • Einrichten der Entwicklungs-Umgebung für die Voting-App
  • Die Methodik und Syntax des Schreibens eines Smart Contracts lernen, ihn dann zu kompilieren und in der Umgebung zu deployen
  • Interaktion mit dem Smart Contract auf der Ethereum-Blockchain über eine Node.js-Konsole.
  • Interaktion mit dem Smart Contract über eine einfache Webseite, um die Stimmenzahlen anzuzeigen und für Kandidaten über die Seite abzustimmen.

Full Stack „Hello World“ Voting-App auf Ethereum Tutorial – Teil 2  [2h-10h]

Dieses Tutorial ist eine Fortsetzung der oben genannten Entwicklung der Voting-App, und wenn Sie fertig sind, hätten Sie:

  • Gelernt, wie man geth installiert, die Client-Software (eine von vielen), die verwendet wird, um die gesamte Ethereum-Blockchain lokal herunterzuladen, um einen Knoten zu betreiben.
  • Gelernt, wie man das Ethereum-Dapp-Framework namens Truffle installiert, das für das Kompilieren und Deployen des Vertrags verwendet werden kann; dieses Thema kann möglicherweise bis zum nächsten Abschnitt warten, da dieser dezentralisierte Anwendungen weit detaillierter behandelt.
  • Den Smart Contract kompiliert und auf dem Ropsten Ethereum Testnet deployed.
  • Die Möglichkeit gehabt, mit dem Smart Contract über die Truffle-Konsole und eine normale Webseite zu interagieren.

Full Stack „Hello World“ Voting-App auf Ethereum Tutorial – Teil 3 [2h-7h]

Das abschließende Tutorial führt Sie durch, wie Sie einige Schlüsselfunktionen zur Voting-Dapp hinzufügen, die zuvor auf der Ethereum-Blockchain deployed wurde, und dies wird eine hervorragende Aktivität sein, um fortgeschrittene Konzepte zu lernen. Die Hauptziele der Lektion sind:

  • Lernen, wie man neue Datentypen wie struct verwendet, um Daten auf der Blockchain zu organisieren und zu speichern.
  • Die Prinzipien von Tokens und deren Verwendung lernen.
  • Lernen, wie man Zahlungen mit Ether, der Währung der Ethereum-Blockchain-Plattform, durchführt.

Full Stack „Hello World“ Voting-App auf Ethereum Tutorial – Finale Demo  [1h]

Hier ist die dezentralisierte Voting-App für die ganze Welt, um sie aus erster Hand zu erleben! Eine freundliche Erinnerung ist, dass für das ordnungsgemäße Funktionieren dieser App die Installation der MetaMask Browsererweiterung erforderlich ist und dann zum Ropsten TestNet gewechselt werden muss.

[Optional] Einführung in Solidity – Teil 1 [2h-5h]

Ethereum hat von Anfang an versprochen, dass es mächtigen, beliebigen Code (auch bekannt als Smart Contracts) deployen kann, und dieses Videotutorial, das von Will Warren und Jordan Leigh gemeinsam produziert wurde, führt Schritt für Schritt durch, wie man eine Ethereum-Entwicklungsumgebung einrichtet, die Grundlagen des Schreibens und Deployens von Smart Contracts auf der Ethereum-Blockchain. Sehr zu empfehlen, da beide brillant sind.

[Optional] Einführung in Solidity – Teil 2 [2h-4h]

Dies ist eine Fortsetzung des oben genannten Videotutorials, ebenfalls empfohlen, insbesondere für Entwickler, die visuell mitfolgen möchten.

3.3.1 Ethereum Smart Contract Sicherheitsprinzipien und Audit

Was ist das Risiko, dass ein Smart Contract gehackt wird? Existieren heute automatisierte Methoden zur Überprüfung von Smart Contracts? Wie effektiv sind selbststabilisierende, selbstprüfende und selbstkorrigierende Algorithmen? Diese Fragen werden in den folgenden Abschnitten beantwortet.

Es ist wesentlich, dass Sie das Material unten vor und während der Erstellung eines Smart Contracts überprüfen. Dies stellt sicher, dass Ihr Programmcode Standards folgt und dass Sicherheitsanfälligkeiten so weit wie möglich angesprochen werden. Kein Smart Contract wird jemals perfekt sein, aber nahezu Perfektion ist das Ziel und ein effektiver Risikomanagement- und Minderungsplan ist zwingend erforderlich.

Smart Contract Best Practices [4h-15h]

Dieses Dokument bietet eine großartige Basiskenntnis über Sicherheitsüberlegungen, Implikationen und Regeln, die von Solidity-Programmierern befolgt werden sollten. Es wird von ConsenSys Diligence und der breiteren Ethereum-Community gepflegt.

Smart Contract Sicherheitsüberlegungen [2h-5h]
Dieser Leitfaden geht ausführlich auf die verschiedenen Fallstricke ein, denen Sie als Solidity-Programmierer begegnen können, Empfehlungen, die Sie befolgen sollten, und hebt einige verfügbare formale Verifizierungsmethoden hervor.

Smart Contract Audit Beispiel [30m-1h]

Dies ist ein großartiges Beispiel für ein Smart Contract Audit, das von einer der angesehensten Institutionen in der Branche heute, Zeppelin Solutions, durchgeführt wurde. Obwohl jedes Audit einzigartig ist und sich erheblich im Detail unterscheiden wird, werden Audits typischerweise in den folgenden Abschnitten organisiert: schwerwiegende Probleme, die sofort vor dem Token-Start angesprochen werden müssen, potenzielle Probleme, die sich möglicherweise zu Problemen entwickeln könnten, wenn sie nicht rechtzeitig angegangen werden (wie die Verwendung von Zeitstempeln, Verwendung von Send- und Empfangscodes, Escrow-Service, Vermeidung von doppeltem Code, magische Konstanten in Beträgen), Warnungen und schließlich ein Fazit.

Smart Contract Audit Wettbewerbe – Teil 1 [20m-1h]

Dies ist eine wichtige Lektüre, sie bietet einige Schlüssellektionen, die aus einem Solidity-Wettbewerb gelernt wurden, einige sind vermeidbar und einige nicht so sehr, denn das ist die Natur von Smart Contracts als Ganzes, Sie können Ihren Code nur vor bekannten Angriffen schützen, das wichtige Risiko kommt von unbekannten Angriffen (Umstände oder Szenarien, die Sie während der anfänglichen Designphase nicht berücksichtigt hatten).

Smart Contract Audit Wettbewerbe – Teil 2 [20m-1h]

Dieser Artikel diskutiert die Audit-Ergebnisse des Wettbewerbs und bietet eine großartige Zusammenfassung jeder der Gewinnereinreichungen, viel großartiges Wissen hier.

Beispiel eines Smart Contracts, um auf den Mayweather- und McGregor-Kampf zu wetten [1h-2h]

Dies ist ein Smart Contract, der tatsächlich auf das Ethereum MainNet deployed wurde, um Wetten für diesen großen Boxkampf, der letztes Jahr stattfand, zu erleichtern. Der leitende Entwickler glaubte, dass die Wahl einer Lösung wie Oraclize die beste Wette war, daher kann nach dem Kampf jeder die checkResult()-Funktion aufrufen, vorausgesetzt, ein kleiner Betrag an Ethers wird gesendet, um die Abfragegebühr zu decken, die Funktion fragt dann Floyd Mayweathers BoxRec-Seite ab und kratzt das Ergebnis des McGregor-Kampfes ab und erklärt schließlich den Gewinner im Vertrag entsprechend. Dies ist nur ein einfaches Beispiel dafür, was möglich ist, wenn Sie ein reales Ereignis in einen automatisch durchsetzbaren und transparenten Smart Contract-Code einbinden.

 

3.4 Dezentralisierte Anwendungen

Bevor Sie direkt in den Bau einer dezentralisierten Anwendung einsteigen, ist es inspirierend zu sehen, was bereits gebaut wurde und was erfolgreich funktioniert hat im Gegensatz zu dem, was nicht weit verbreitet angenommen wurde.

Zustand der dezentralisierten Anwendungen [30m-3h]

State of ÐApps ist ein gemeinnütziges kuratiertes Verzeichnis von dezentralen Anwendungen weltweit. Diese sind alle auf der Ethereum-Blockchain aufgebaut. State of ÐApps wurde geschaffen, um entwickelte Projekte, die auf dieser erstaunlichen Technologie basieren, zu kategorisieren und vorzustellen. Es umfasst mehrere Projekte aus verschiedenen Bereichen wie virtuelle Realität, künstliche Intelligenz, Dokumentation und Register, Karrieremarkt, Spiele, Lern- und Trainingskurse und vieles, vieles mehr.

Ethereum DApps Liste [30m]

Dies ist eine der großartigsten Ressourcen in diesem Bereich. Sie zeigt fast 300 dezentralisierte Anwendungen, die auf der Ethereum-Plattform laufen, und hebt die Summe des ETH-Guthabens hervor, das in allen DApp-Verträgen enthalten ist, täglich aktive Benutzer, die Anzahl der täglich verarbeiteten Transaktionen und vieles mehr. Diese Liste ist erheblich gewachsen und die bemerkenswerten Projekte, die bereits live sind und aktiv genutzt werden, sind: Ethlance, CrytptoKitties, Etherbots, Ethercraft, Etheremon, Etheroll, ETHLend, Crypto Sportz, Edgeless, 0xBitcoin und Forkdelta.

Front-End-Workflow dezentraler Anwendungen [20m-30m]

Dies ist ein großartiger Technologie-Workflow, der einen Überblick über Dapps aus der Perspektive des Front-Ends bietet. Es zeigt, dass Sie eine DApp erstellen können, die eine Benutzeroberfläche für Benutzer bereitstellt, um einen Vertrag zu implementieren und dann zu nutzen (Schritte 1 oder 4). Alternativ könnte die Dapp davon ausgehen, dass der Vertrag bereits implementiert wurde (heutzutage häufiger) und von dort aus mit dem UI-Fluss beginnen (Schritt 6).

Einführung in die Entwicklung dezentraler Anwendungen [10h-30h]

Dies ist die beste Einführung in die Entwicklung dezentraler Anwendungen, die es gibt. Sie wurde vollständig von Jordan Leigh bei Decypher Media produziert. Wir haben Glück, denn dieser Kurs war früher ein Premium-Angebot und kostete Geld, um darauf zuzugreifen, ist jedoch jetzt frei verfügbar.

Die Playlist ist sehr umfassend und Sie müssen nicht jeden Schritt des Programms ansehen und ausführen, aber es wäre hilfreich, die Hauptabschnitte abzudecken. Einige der früheren Materialien sind etwas veraltet, dennoch sind sie immer noch vollständig relevant. Die gesamte Liste ist unten beschrieben, ich habe die dringendsten Tutorials fett markiert:

  1. Einrichtung der Entwicklungs-Umgebung
  2. Erstellen von Ethereum-Schlüsselpaaren
  3. Das Halteproblem und warum wir Gas benötigen
  4. Einführung in Transaktionen
  5. Senden von Transaktionen mit Benutzeroberflächen
  6. Senden von Transaktionen mit Code
  7. Smart Contracts – Hallo Welt
  8. Smart Contracts – Treuhand
  9. Smart Contract – Münzwurf – Teil 1
  10. Smart Contract – Münzwurf – Teil 2
  11. Vertragserbschaft
  12. Orakel und Oraclize
  13. Wie man den Ethereum Name Service (ENS) verwendet
  14. Command Line Interface
  15. Das Block-Gas-Limit
  16. Schleifen mit Abbildungen vermeiden
  17. Vertragsereignisse
  18. Signieren beliebiger Nachrichten
  19. Implementierung eines Authentifizierungsschemas
  20. Der ERC20-Token-Standard
  21. Installation von Geth
  22. Der Genesis-Block
  23. Synchronisierung der Blockchain
  24. Geth-Keystores

Dezentralisierte Anwendung – Serie [2h-10h]

Dieser Index überprüft einige der bekannten Nexus / DappHub-Anwendungen. Dies umfasst Dapps, Bibliotheken, Pakete mit einer Dapp-Datei, in der Hoffnung, die Nutzung ihres Toolkits und ihrer Funktionen zu erhöhen, da sie als großartige Fallstudien für Entwickler dienen. Sie erstellen eine umfassende Suite von Blockchain-orientierten Entwicklertools im Geiste der Unix-Philosophie und es lohnt sich definitiv, sich damit zu beschäftigen, da sie zum MakerDAO-Projekt beigetragen haben und einige weit verbreitete Entwicklertools produziert haben.

[Optional] Amazon Web Services (AWS) Einrichtung, Bereitstellung und Wartung [4h-7h]

Dies ist optionales Material, aber es wäre dennoch sehenswert, wenn Sie daran interessiert sind, eine AWS EC2-Instanz von Grund auf einzurichten und eine Rails-Entwicklungsumgebung einzurichten. Anschließend können Sie, falls interessiert, tatsächlich eine AWS S3-Instanz für die Cloud-Dateispeicherung einrichten.

[Optional] Erstellen Ihrer eigenen Ethereum-Apps mit Ethereum Go [45m-2h]
Dies ist immer noch eine nützliche Anleitung und ein Tutorial, dem man folgen kann, da die Go-Sprache auch zum Erstellen von Apps verwendet werden kann, da Ethereum ursprünglich auf Go aufgebaut wurde.

[Optional] Dapps für Anfänger [5h-20h]

Dieses Team hat einige nützliche Inhalte für Entwickler produziert, die in die Programmierung mit Kryptotechnologie einsteigen möchten. Sie arbeiten auch an einer Bildungsplattform namens EthAcademy (weitere Informationen im Tools-Abschnitt unten), um mit Codeacademy zu konkurrieren.

 

4.0 Werkzeuge

Dies ist eine Liste von Werkzeugen und Ressourcen, die Sie in Ihrer Entwicklung am hilfreichsten finden sollten:

Ethereum.stackexchange; Kostenlos

Ethereum Stack Exchange ist eine Frage- und Antwortseite für Benutzer von Ethereum

Ethereum-Wiki; Kostenlos

Hilfreiche ausführliche Beschreibungen unzähliger Ethereum-Komponenten

Truffle-Boxen; Kostenlos

Nützliche Boilerplates, diese Boxen können tatsächlich Solidity-Verträge & Bibliotheken, Front-End-Ansichten und komplette Beispiel-Dapps enthalten.

Remix; Kostenlos

Solidity IDE, sehr nützlich und die Zeit wert

Ethacademy; Kostenlos

Dies ist noch nicht veröffentlicht, aber ich würde vorschlagen, sich für den Newsletter anzumelden, da sie Ihnen eine Menge großartiger Informationen über die neuesten Ethereum-Entwicklungswerkzeuge und -Integrationen senden.

Ether.fund; Kostenlos

Es hat ein Verzeichnis von Solidity-Smart-Contracts, das Ihnen helfen könnte, mehr Innovationen zu entwickeln.

Ethereum Github; Kostenlos

Es hat eine großartige Liste nützlicher Ressourcen, um bei der Dapp-Entwicklung zu helfen

CryptoZombies; Kostenlos

Mit CryptoZombies lernen Sie, wie man Ethereum-Smart-Contracts mit Solidity auf eine unterhaltsame, interaktive Weise schreibt, bei der Sie Ihr eigenes Zombie-Spiel programmieren, insbesondere Ihr eigenes Krypto-Sammelspiel.

OpenZeppelin’s Ethernaut; Kostenlos

Dies ist eine großartige Möglichkeit, viel mehr über die Sicherheit von Ethereum zu erfahren, insbesondere, wie man seinen Solidity-Code so gut wie möglich vor Hacking schützt. Ein großartiges Tutorial, um die Grundlagen zu lernen.

Yasiv; Kostenlos

Dies ist ein unglaubliches kostenloses webbasiertes Tool, das es Ihnen ermöglicht, visuell in einer Linkkarte zu sehen, welche Produkte von Amazon in irgendeiner Weise miteinander korreliert sind. Dieses Beispiel zeigt Blockchain-Bücher. Versuchen Sie, Ethereum einzugeben.

Bitnodes Geografische Karte; Kostenlos

Dies wurde erstellt, um die Größe des Bitcoin-Netzwerks zu schätzen, indem alle beitragenden Knoten erreicht werden.

Bitnodes Netzwerkkarte; Kostenlos

Dies ist eine weitere schöne Visualisierung aller Knoten im Bitcoin-Netzwerk, großartig, um im Laufe mehrerer Monate zu verfolgen.

Bitcoin Interaqt; Kostenlos

Diese großartige Visualisierung ist live und funktioniert in Echtzeit und zeigt Blöcke, wie sie verarbeitet und abgebaut werden. Sie können tatsächlich auf einen der schwebenden Blöcke klicken und es wird Ihnen sofort der Inhalt dieses Blocks in der Explorer-Ansicht angezeigt.

Daily Blockchain – Unbestätigte Transaktionen; Kostenlos

Wunderbar, um unbestätigte Transaktionen in dieser Art von Ansicht zu sehen, können Sie Tausende von Transaktionen sehen, die darauf warten, verarbeitet zu werden; es gibt eine konzertierte Anstrengung von allen in der Bitcoin-Community, um die Annahme einiger der Optimierungsroutinen, die sie haben, zu beschleunigen.

Blockseer; Kostenlos

Dies ist eine der einzigen heute verfügbaren Lösungen, die es Ihnen ermöglicht, den Fluss von Transaktionen zu verfolgen, während sie die Blockchain durchqueren. Sehr empfehlenswert, sich anzumelden.

Blocks WizB; Kostenlos

Dies ist interessant zu verfolgen, es ermöglicht Ihnen, hineinzuzoomen und zu überwachen, wo Transaktionen von den Knoten im Netzwerk verarbeitet werden.

 

5.0 Zusätzliches Material

Was Sie über Blockchain-Technologie wissen müssen; Kostenlos  [20m-40m]

Dies ist ein großartiger Artikel von Karim Lakhani, Professor an der Harvard Business School und Mitbegründer der HBS Digital Initiative, in dem er Blockchain sehr ausführlich bespricht. Lakhani erläutert, wie die Technologie hinter Bitcoin funktioniert, und spricht über die Branchen und Unternehmen, die neue Wachstumschancen sehen oder Geschäfte verlieren könnten.

Die Wahrheit über Blockchain-Technologie; Kostenlos [15m-20m]

Dies ist ein weiterer ausgezeichneter Artikel von Marco Iansiti, David Sarnoff Professor für Betriebswirtschaft an der Harvard Business School, und auch von Karim R. Lakhani, Charles Edward Wilson Professor für Betriebswirtschaft und der Dorothy und Michael Hintze Fellow an der Harvard Business School. Sie diskutieren die Muster der Technologieeinführung, die neue Architektur, ein Rahmenwerk für die Blockchain-Einführung

Buch- Mastering Bitcoin: Unlocking Digital Cryptocurrencies von Andreas M. Antonopoulos; Kostenlos

Geschrieben von einem der ursprünglichen Kryptowährungs- und Blockchain-Technologie-Gurus, frei verfügbar hier.

Buch – Mastering Ethereum: Building Smart Contracts and Dapps; Kostenlos

Ein weiteres Meisterwerk von Andreas Antonopoulos, es wurde im Dezember 2018 veröffentlicht, aber es gibt eine kostenlose Ausgabe auf GitHub.

Buch – Blockchain: Blueprint for a New Economy von Melanie Swan; Bezahlt

Dies ist eines meiner persönlichen Favoriten, Melanie schien ihrer Zeit voraus zu sein, als sie dieses Buch veröffentlichte, dies war vor der Mainstream-Aufmerksamkeit von Ethereum, sie ist eine echte Visionärin und hat 2015 ziemlich viel von dem vorhergesagt, was tatsächlich 2017 stattfand.

ConsenSys Einführung in die Programmierung von Smart Contracts auf Ethereum; Kostenlos [2h-4h]

Dieser Artikel von Consensys bietet ein nützliches einführendes Tutorial zur Programmierung von Dapp-basierten Smart Contracts.

Trotz

Get Smarter About Crypto

Join 1,000+ subscribers and get our 5 min weekly newsletter on what matters in crypto trading.

Newsletter

Subscribe to our newsletter to get regular content.

© Blockcircle. 2024. All rights reserved

When you visit or interact with our sites, services or tools, we or our authorised service providers may use cookies for storing information to help provide you with a better, faster and safer experience and for marketing purposes.

THE BLOCKCIRCLE EDGE TODAY

Handpicked stories, in your inbox

A daily Digital Asset newsletter with the best of our information