Netidee Blog Bild
Smart Contract Entwicklung
Eine Übersicht der wichtigsten Werkzeuge (22.07.2018)
Förderjahr 2016 / Projekt Call #11 / ProjektID: 1589 / Projekt: Bloqs

Im folgenden Artikel sollen die wichtigsten Werkzeuge aufgezeigt und zusammengefasst werden, welche für die Smart Contract Entwicklung mittels der Ethereum Blockchain essentiell sind.

Solidity

Solidity ist eine Programmiersprache zur Entwicklung von Smart Contracts speziell für die Ethereum Virtual Machine. Solidity ist objektorientierten Programmiersprachen wie Python oder C++ sehr ähnlich. Solidity ist sicherlich die populärste und am besten unterstützte Programmiersprache zur Entwicklung von Smart Contracts. Neben Solidity gibt es noch Bamboo und Vyper als Smart Contract Programmiersprachen, welche sich aber eher noch in einem experimentelleren Stadium befinden.

Truffle

Truffle ist im wesentlichen ein Kommandozeilen Programm, welches den gesamten Workflow der Smart Contract Entwicklung unterstützt. Folgende wesentliche Aspekte werden unterstützt:

  • Kompilieren von Smart Contract Quellcode in ausführbaren Bytecode für die Ethereum EVM
  • Deployment von Bytecode in das Ethereum Mainnet, Testnet bzw. privates Testnet
  • Unit Testing von Smart Contracts mittels JavaScript oder Solidity Tests
  • Debugging einer "historischen" Smart Contract Ausführung. Da alle Smart Contract Ausführungen in der Blockchain gespeichert sind, können diese mittels eines Debuggers Schritt für Schritt nachvollzogen werden.

MetaMask

Ein Web-Browser kann generisch nicht zur Interaktion mit DApps genutzt werden, da eine Verbindung zum Ethereum Netzwerk fehlt bzw. eine Wallet benötigt wird um Transaktionen zu signieren. MetaMask ist eine Browser Extension, welche eine Wallet und eine Verbindung mit dem Ethereum Netzwerk über einen Proxy herstellen kann. MetaMask kann innerhalb von Chrome, Firefox, Opera und Brave genutzt werden. Die Extension kann über die entsprechenden Add-on Stores der Browserhersteller installiert werden. Die Sicherheit der intregrierten Wallet ist jedoch nicht zu vergleichen mit einer reinen Hardware Wallet, sodass nur wenig Ether darauf gehalten werden sollte. MetaMask eignet sich jedoch sehr gut um DApps zu testen, da man ein privates Netzwerk bzw. alle Testnetzwerke anbinden kann.

Ganache

Ganache ist eine sehr leichtgewichtige private Ethereum Testumgebung. Ganache bietet einen Kommandozeilenprogramm bzw. auch eine Benutzerschnittstelle. Die Bereitstellung eines eigenen Ethereum Client (zB geth oder parity) für Testzwecke kann mitunter aufwendig sein. Ganache bietet hierbei eine starke Vereinfachung und funktioniert ebenfalls für Continous Integration Umgebungen. Um als Entwickler möglichst schnell Smart Contracts in den Testbetrieb zu bekommen, gibt es keine einfachere und schnellere Variante als Ganache.

Open Zeppelin

Open Zeppelin ist ein Framework, welches eine große Auswahl an bestehenden Smart Contracts bietet, welche für eigene Zwecke verwendet werden können. Der wesentliche Bestandteil des Frameworks liegt vorranging auf die Unterstützung von Initial Coin Offerings (auch Crowdsales gennant). Alle Smart Contracts sind in unterschieldichen Projekten praxiserprobt und auditiert.

Tags:

ethereum blockchain

Stefan Huber

Profile picture for user stefan.huber

Skills:

Bitcoin
,
blockchain
,
Java
,
Javascript
,
PHP
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.