Solidity ist eine beliebte Programmiersprache für die Entwicklung von Smart Contracts für die Blockchain, vor allem für die Plattform Ethereum. Die Programmiersprache ist von der Handhabung vergleichbar mit weit verbreiteten Programmiersprachen wie JavaScript oder Python. Die Aufgabe von Solidity ist es den Quellcode von Smart Contracts für die Ethereum Virtual Machine (EVM) bereitzustellen. Mit einem Kompiler wird daraus ein Smart Contract.
Smart Contracts
Im Grunde genommen sind Smart Contracts einfache Programme, die in einer Blockchain laufen. Sie werden ausgeführt, wenn vorher definierte Bedingungen erfüllt sind. Sie werden typischerweise eingesetzt, um die Ausführung einer Vereinbarung zu automatisieren, sodass alle Beteiligten sofort über das Ergebnis Bescheid wissen, ohne dass es zu Verzögerungen kommt oder ein Mittelsmann nötig wäre. Auch können ganze Abläufe mithilfe von Smart Contracts automatisiert werden. Werden die in einem Smart Contract definierten Bedingungen erfüllt, wird dann die nächste Aktion ausgeführt.
Zum Beispiel könnte Person A mit Person B einen Vertrag abschließen, dass Person B gegen einen Betrag von 0.1 ETH das Fahrzeug von Person A repariert. Beide halten die Bedingungen des Vertrags in einem in Solidity geschriebenen Smart Contract auf der Blockchain fest. Wenn Person B seinen Auftrag ordnungsgemäß erledigt, wird der Vertrag ausgeführt und der Betrag an Person B überwiesen.
Entwickeln mit Solidity
Um mit Solidity zu entwickeln, benötigt man eine sog. Integrierte Entwicklungsumgebung (IDE), also ein Programm, mit dem der Quellcode geschrieben werden kann. Beispielsweise kann die IDE Visual Studio von Microsoft mit Solidity zusammenarbeiten. Um den Quellcode zu kompilieren, stellt Microsoft noch die Erweiterung ETHcode zur Verfügung. Diese Erweiterung kann den Quellcode des Smart Contracts kompilieren und ausführen.
Eine alternative Methode, mit Solidity zu entwickeln ist die browserbasierte Entwicklungsumgebung Remix. Mit dieser ist es möglich, in der Ethereum-Blockchain Anwendungen zu entwickeln, ohne lokal ein Programm oder Erweiterungen installieren zu müssen.
Alternativen
Für die Entwicklung von Smart Contracts existiert neben Solidity eine weitere beliebte Programmiersprache Namens Vyper. Diese bietet weniger Funktionen als Solidity, erleichtert aber ein schnelleres Prototyping von Ideen. Vyper hat sich zum Ziel gesetzt, leicht auditierbar und möglichst für Menschen lesbar zu sein.