Seite zuletzt aktualisiert: December 4, 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
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum dApp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum oft aktualisiert – ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series oft aktualisiert – Joshua Cassidy
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.
- Ethereum für Java-Entwickler
- Ethereum für Python-Entwickler
- Ethereum für JavaScript-Entwickler
- Ethereum für Go-Entwickler
- Ethereum für Rust-Entwickler
- Ethereum für .NET-Entwickler
- Weitere kommen in Kürze! Ist deine Sprache nicht dabei? Stelle eine Frage!
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
Hardhat - 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
- Visual Studio Code
- Azure Blockchain Development Kit für Ethereum
- Azure Blockchain Workbench-Plug-in
- Code-Beispiele
- GitHub
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
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
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
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Sammlung von Sicherheitsempfehlungen und Best Practices
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
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker Mills
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.
- Liste der EIPs
- EIP-github-Repo
- EIP-Diskussionsforum
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Playlist aller Ethereum Core Dev Meetings (YouTube Playlist)
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.