c't 12/2021
S. 150
Praxis
Smart Contracts programmieren
Bild: saran25, stock.adobe.com

Den Äther programmieren

Smart Contracts für die Ethereum-Blockchain schreiben

Bei Ethereum denken viele an eine Kryptowährung, dabei ­handelt es sich eigentlich um ein weltweit verteiltes Rechen­zentrum, das Programme – ­sogenannte Smart Contracts – auf einer Blockchain ausführt. Wir zeigen Ihnen, wie Sie einen solchen Smart Contract programmieren, um „Schere, Stein, Papier“ auf der Ethereum-­Blockchain zu spielen.

Von Lars Hupel

Ethereum und seine Währung Ether sind zwar das zweitgrößte Kryptogeldsystem nach Bitcoin, aber der eigentliche Clou von Ethereum sind Smart Contracts. Das sind Programme auf der Blockchain, die global verteilt, manipulationssicher und allgemein überprüfbar ausgeführt werden. Im Prinzip schreibt man einen Smart Contract wie jedes andere Programm auch. Das geschieht üblicherweise in einer Hochsprache, die zu Bytecode für die Ethereum Virtual Machine (EVM) kompiliert wird. Anschließend muss man den Vertrag ausrollen, also auf der Blockchain platzieren. Dazu benötigt man ein Ethereum-Konto und eine (mit dem Browser verknüpfte) Wallet-Applikation.

Nachdem ein Vertrag ausgerollt wurde, können Blockchain-Nutzer mit ihm interagieren. Das geschieht über Transaktionen wie beim reinen Verschieben von Geld, allerdings ist das Zielkonto der Smart Contract. Transaktionen können auch 0 Ether überweisen, eine Vertragsinteraktion muss also nicht unbedingt auch Geld an den Vertrag senden. Transaktions­kosten entstehen aber in jedem Fall. Weil der Zustand der Blockchain und auch alle Transaktionen öffentlich sind und die EVM rein deterministisch arbeitet, ist jederzeit klar, wann welcher Vertrag aufgerufen wurde und welches Ergebnis der Aufruf hatte.

Kommentieren