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.

Brauchst du zuerst einen grundsätzlichen Einstieg? Schau dir ethereum.org/de/learn an.

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?

Entwicklertools

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.

Truffle: Entwicklungsumgebung, Test-Framework, Build-Pipeline und weitere Tools

Embark: 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

Buidler: ein Task-Runner für Smart-Contract-Entwickler für Ethereum

ZeppelinOS: ein Entwicklungs-Framework für den Aufbau von aktualisierbaren Smart Contracts und die sichere Verwaltung von Smart-Contract-Anwendungen

Suchst du nach weiteren Optionen?

Integrierte Entwicklungsumgebungen (IDEs)

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

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

Superblocks: webbasierte IDE mit integrierter Browser-Blockchain-VM, MetaMask-Integration, Transaktions-Logger und weiteren Funktionen

EthFiddle: 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: 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: Typescript-Alternative zu Web3.js

Suchst du nach weiteren Optionen?

Backend-APIs

Infura: die Ethereum-API als Service

Sicherheitstools

Slither: statisches Analyse-Framework für Solidity, geschrieben in Python 3

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

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

Securify: Sicherheits-Scanner für Ethereum-Smart-Contracts

Mehr zur formalen Verifikation

Suchst du nach weiteren Optionen?

Testtools

Solidity-Coverage: alternatives Tool zur Erfassung der Testabdeckung in Solidity Code

hevm: Implementierung der EVM speziell zur Einheitenprüfung und zum 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 gemined 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.

Geth: in Go geschriebener Ethereum-Client

Parity: in Rust geschriebener Ethereum-Client

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, Pattern und Anti-Pattern

DappSys: sichere, einfache und flexible Bausteine für Smart Contracts

OpenZeppelin: Bibliothek für sichere Smart-Contract-Entwicklung

aragonOS: Muster zur Upgradeverwaltung und Berechtigungskontrolle

Smart-Contract-Schwachstellenregister

Best-Practices für die Smart-Contract-Sicherheit

Suchst du nach weiteren Optionen?

Support und Training für Entwickler

Ethereum Stack Exchange

Solidity-Gitter-Chatraum

Alle Ethereum-Gitter-Chaträume

Cryptozombies: Spieleentwicklung auf Ethereum lernen

Chainshot: webbasierte Tutorials zur dApp-Programmierung

Blockgeeks: Online-Kurse über Blockchain-Technologie

DappUniversity: dezentralisierte Anwendungsentwicklung auf der Ethereum-Blockchain lernen

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

UI/UX

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.