Seite zuletzt aktualisiert: September 3, 2020

Informationen für Entwickler

Erste Schritte

Wenn du in die App-Entwicklung mit Ethereum einsteigen möchtest, bist du hier genau richtig. Diese von der Ethereum-Community verfassten Anleitungen (meist in englischer Sprache) werden dich in die Grundlagen der Ethereum-Architektur und in die entsprechenden Kernkonzepte einführen. Du erfährst, wie sie sich von herkömmlicher App-Entwicklung unterscheiden.

Möchtest du gleich mit dem Programmieren beginnen? Beginne hier etwas zu bauen.

Brauchst du zuerst einen grundsätzlichen Einstieg? Schaue dir unsere Lernressourcen an.

Hilfreiche Informationen

Smart Contract-Sprachen

Jedes Programm, das auf der Ethereum Virtual Machine (EVM) läuft, wird allgemein als „Smart Contract“ bezeichnet. Die beliebtesten Sprachen für das Schreiben von Smart Contracts auf Ethereum sind Solidity und Vyper, jedoch gibt es noch weitere in Entwicklung.

Solidity: ***Die beliebteste Sprache für Ethereum, inspiriert von C++, Python und Javascript***

Vyper: Eine sicherheitsorientierte Sprache für Ethereum, basierend auf Python

Suchst du nach weiteren Optionen?

Sprachspezifische Ressourcen

Wir bauen eine Reihe von sprachspezifischen Einstiegsseiten für Entwickler auf, damit du über Ethereum in deiner bevorzugten Programmiersprache lernen kannst.

Entwicklerwerkzeuge

Ethereum verfügt über eine große und wachsende Anzahl von Tools, um Programmierern beim Entwickeln, Testen und Bereitstellen von Anwendungen zu helfen. Nachfolgend sind die beliebtesten Tools aufgeführt, mit denen du direkt loslegen kannst. Wenn du tiefer eintauchen möchtest, schau dir diese umfassende Liste an.

Frameworks

Truffle - Eine Entwicklungsumgebung, Test-Framework, Build-Pipeline und weitere Tools.

Embark - Eine Entwicklungsumgebung, Test-Framework und weitere Tools, die in Ethereum, IPFS und Whisper integriert sind.

Waffle -***Ein Framework für fortgeschrittene Smart-Contract-Entwicklungen und Tests (basierend auf ethers.js).***

Etherlime - Ethers.js-basiertes Framework für dApp-Entwicklung (Solidity und Vyper), Bereitstellung, Debugging, Tests und mehr.

Andere Werkzeuge

Ethereum Grid - Eine Desktop-Anwendung zum Herunterladen, Konfigurieren und Ausführen von Ethereum-Clients und -Tools.

Buidler - Ein Task-Runner für Ethereum Smart Contract-Entwickler.

OpenZeppelin SDK - Das Ultimative Smart Contract Toolkit: Eine Reihe von Tools, die dir helfen, zu entwickeln, kompilieren, aktualisieren, verteilen und mit Smart Contracts zu interagieren.

The Graph - Ein Protokoll zur Indizierung von Ethereum- und IPFS-Daten und zur Abfrage mittels GraphQL.

Tenderly - Eine Plattform zur einfachen Überwachung deiner Smart Contracts mit Fehlerverfolgung, Warnhinweisen, Leistungsmetriken und detaillierten Vertragsanalysen.

Python Tooling - Eine Auswahl von Bibliotheken für die Ethereum-Interaktion über Python.

Brownie - Python-basierte Entwicklungsumgebung und Test-Framework.

web3j - Eine Java/Android/Kotlin/Scala Integrationsbibliothek für Ethereum.

One Click dApp - Erstelle ein Frontend direkt aus der ABI für schnelle Entwicklung und Tests.

Suchst du nach weiteren Optionen?

Integrierte Entwicklungsumgebungen (IDEs)

Ethereum Studio - Webbasierte IDE ideal für neue Entwickler, die mit Smart Contracts experimentieren möchten. Ethereum Studio verfügt über mehrere Vorlagen, MetaMask-Integration, Transaktionslogger und eine eingebaute Ethereum Virtual Machine (EVM), die dir hilft, so schnell wie möglich mit Ethereum zu starten.

Visual Studio Code - Eine professionelle plattformübergreifende IDE mit offizieller Ethereum-Unterstützung

Remix - Eine webbasierte IDE mit integrierter Code-Analyse und einer Test-Blockchain-VM

EthFiddle - Eine webbasierte IDE, mit der du deinen Smart Contract schreiben, kompilieren und debuggen kannst.

Suchst du nach weiteren Optionen?

Frontend-Javascript-APIs

Web3.js - Ethereum JavaScript API.

Ethers.js - Eine vollständige Ethereum-Wallet-Implementierung und Utilities in JavaScript und TypeScript.

light.js - Eine reaktive High-Level-JS-Bibliothek, die für Light Clients optimiert wurde.

Web3-Wrapper - Eine Typescript-Alternative zu Web3.js.

Suchst du nach weiteren Optionen?

Backend-APIs

Infura - Die Ethereum-API als Dienst.

Cloudflare Ethereum Gateway.

Nodesmith - JSON-RPC API Zugriff auf das Ethereum Mainnet und Testnetzwerke.

Chainstack - Geteilte und dedizierte Ethereum-Nodes als Dienst.

Speicher

IPFS - InterPlanetary File System ist ein dezentralisiertes Speicher- und Datei-Referenzsystem für Ethereum.

Swarm - Verteilte Speicherplattform und Content Distribution-Dienst für den Ethereum Web3 Stack.

OrbitDB - Eine dezentrale Peer-to-Peer-Datenbank über IPFS.

Sicherheitstools

Smart Contract-Sicherheit

Slither - In Python 3 geschriebener statischer Analyserahmen für Solidity

MythX - Sicherheitsanalyse-API für Ethereum Smart Contracts.

Mythril - Sicherheitsanalyse für EVM Bytecode.

SmartContract.Codes - Suchmaschine für verifizierte Solidity-Quellcodes.

Manticore - Eine Befehlszeilenschnittstelle, die ein symbolisches Ausführungswerkzeug für Smart Contracts und Binärdaten verwendet

Securify - Sicherheitsscanner für Ethereum Smart Contracts.

ERC20 Verifier - Ein Verifizierungswerkzeug, um zu überprüfen, ob ein Vertrag mit dem ERC20-Standard übereinstimmt.

Formale Verifizierung

Informationen zur Formalen Verifizierung

Suchst du nach weiteren Optionen?

Testwerkzeuge

Solidy-Coverage - Alternatives Solidity-Code-Coverage-Tool.

hevm - Implementierung der EVM speziell zum Unit-Testing und Debugging von Smart Contracts.

Whiteblock Genesis - Eine End-to-End-Entwicklungs-Sandbox und Testplattform für Blockchains

Suchst du nach weiteren Optionen?

Block-Explorer

Block-Explorer sind Dienste, mit denen du die Ethereum-Blockchain (und ihre Testnetzwerke) durchsuchen kannst, indem sie Informationen über spezifische Transaktionen, Blöcke, Smart Contracts und andere On-Chain-Aktivitäten liefern.

Testnetzwerke und Faucets

Die Ethereum-Community betreibt mehrere Testnetzwerke. Diese werden von Entwicklern verwendet, um ihre Anwendungen unter verschiedenen Bedingungen zu testen, bevor sie im Ethereum-Hauptnetzwerk (Mainnet) eingesetzt werden.

Ropsten - Proof-of-Work-Blockchain, Test-Ether kann abgebaut werden.

Rinkeby - Proof-of-Authority-Blockchain, gepflegt vom Geth-Entwicklungsteam.

Görli - Clientübergreifende Proof-of-Authority-Blockchain, entwickelt und betrieben von der Görli-Community.

Clients und Starten deiner eigenen Node

Das Ethereum-Netzwerk besteht aus vielen Nodes (Knotenpunkten), die kompatible Client-Software ausführen. Die Mehrheit dieser Nodes nutzen Geth oder Parity. Beide können je nach Bedarf auf unterschiedliche Weise konfiguriert werden.

Clients

Geth - Ethereum-Clients geschrieben in Go.

Parity - Ethereum-Client geschrieben in Rust.

Pantheon - Ethereum-Client geschrieben in Java.

Nethermind - Ethereum-Client geschrieben in C# .NET Core.

Starte deine eigene Node

Ethnode - Startet eine Ethereum-Node (Geth oder Parity) für die lokale Entwicklung

Informationen zu Ethereum Nodes

  • [Node Configuration Cheat Sheet](https://dev. to/5chdn/ethereum-node-configuration-modes-cheat-sheet-25l8) Jan 5, 2019 - Afri Schoedon

Suchst du nach weiteren Optionen?

Best Practices, Muster und Gegenmuster

Smart Contracts

DappSys - Sichere, einfache und flexible Bausteine für Smart Contracts.

OpenZeppelin Contracts - Bibliothek für sichere Smart Contract-Entwicklung.

aragonOS - Muster zur Upgradeverwaltung und Berechtigungskontrolle.

Smart Contract Weakness Registry

Sicherheit

Best Practices-Leitfaden für die Sicherheit von Smart Contracts

Smart Contract Security Verification Standard (SCSVS)

Suchst du nach weiteren Optionen?

Support und Training für Entwickler

Allgemeines Lernen

Ethereum Stack Exchange

ConsenSys Academy - Ein End-to-End-Entwicklerkurs für Ethereum, der selbstbestimmt und ganzjährig geöffnet ist.

Solidity Gitter-Chatraum

Alle Ethereum Gitter-Chaträume

Chainshot - Webbasierte dApp-Coding-Tutorials.

Blockgeeks - Online-Kurse über Blockchain-Technologie.

DappUniversity - Lerne dezentralisierte Anwendungsentwicklung auf der Ethereum-Blockchain.

B9lab Academy - Heimat des ältesten professionellen Ethereum-dApp-Entwicklerkurses und weiteres Lernen für Prüfer, sowie Fragen und Antworten. Inkl. Mentoring und Code-Prüfung.

Spielbasiertes Lernen

Kryptozombies - Lerne Spiele auf Ethereum zu programmieren.

Ethernaut - Solidity-basiertes Kriegsspiel, in dem jeder Level ein Vertrag ist, der gehackt werden muss

Capture the Ether - Das Spiel der Smart Contract Sicherheit.

UI/UX-Design

Rimble UI - Anpassbare Komponenten und Designstandards für dezentrale Anwendungen.

Standards

Die Ethereum-Community hat viele Standards übernommen, die für Entwickler hilfreich sind. Normalerweise werden diese als Ethereum Improvement Proposals (EIPs) eingeführt, die von Community-Mitgliedern über einen Standardprozess diskutiert werden.

Bestimmte EIPs beziehen sich auf Anwendungs-Level-Standards (z. B. ein Standard-Smart-Contract-Format), die als Ethereum Requests for Comment (ERC) eingeführt werden. Viele ERCs sind essenzielle Standards, die im Ethereum-Ökosystem weitverbreitet sind.