Bereitstellung deines ersten Smart Contracts
Ich nehme an, du bist genauso aufgeregt wie wir, deinen ersten Smart Contract auf der Ethereum-Blockchain bereitzustellen und mit ihm zu interagieren.
Keine Sorge, da es unser erster Smart Contract ist, werden wir ihn in einem lokalen Testnetzwerk bereitstellen, sodass die Bereitstellung für dich kostenlos ist und du so viel damit herumspielen kannst, wie du möchtest.
Unseren Vertrag schreiben
Der erste Schritt besteht darin, Remix zu besuchen (opens in a new tab) und eine neue Datei zu erstellen. Füge im oberen linken Teil der Remix-Benutzeroberfläche eine neue Datei hinzu und gib den gewünschten Dateinamen ein.
In die neue Datei fügen wir den folgenden Code ein.
1// SPDX-License-Identifier: MIT2pragma solidity >=0.5.17;3
4contract Counter {5
6 // Öffentliche Variable vom Typ unsigned int, um die Anzahl der Zählungen zu speichern7 uint256 public count = 0;8
9 // Funktion, die unseren Zähler inkrementiert10 function increment() public {11 count += 1;12 }13
14 // Nicht notwendiger Getter, um den Zählerwert abzurufen15 function getCount() public view returns (uint256) {16 return count;17 }18
19}Wenn du an das Programmieren gewöhnt bist, kannst du leicht erraten, was dieses Programm macht. Hier ist eine zeilenweise Erklärung:
- Zeile 4: Wir definieren einen Vertrag mit dem Namen
Counter. - Zeile 7: Unser Vertrag speichert eine vorzeichenlose Ganzzahl (unsigned integer) namens
count, die bei 0 beginnt. - Zeile 10: Die erste Funktion ändert den Zustand des Vertrags und erhöht (
increment()) unsere Variablecount. - Zeile 15: Die zweite Funktion ist nur ein Getter, um den Wert der Variablen
countaußerhalb des Smart Contracts lesen zu können. Beachte, dass dies nicht zwingend erforderlich ist, da wir unsere Variablecountals öffentlich (public) definiert haben, aber es wird hier als Beispiel gezeigt.
Das ist alles für unseren ersten einfachen Smart Contract. Wie du vielleicht weißt, sieht er aus wie eine Klasse aus OOP-Sprachen (objektorientierte Programmierung) wie Java oder C++. Es ist nun an der Zeit, mit unserem Vertrag zu spielen.
Unseren Vertrag bereitstellen
Da wir unseren allerersten Smart Contract geschrieben haben, werden wir ihn nun auf der Blockchain bereitstellen, um damit spielen zu können.
Die Bereitstellung des Smart Contracts auf der Blockchain ist eigentlich nur das Senden einer Transaktion, die den Code des kompilierten Smart Contracts enthält, ohne einen Empfänger anzugeben.
Wir werden zuerst den Vertrag kompilieren, indem wir auf das Kompilieren-Symbol auf der linken Seite klicken:
Klicke dann auf die Schaltfläche „Kompilieren“ (Compile):
Du kannst die Option „Auto compile“ auswählen, damit der Vertrag immer kompiliert wird, wenn du den Inhalt im Texteditor speicherst.
Navigiere dann zum Bildschirm „Deploy and run transactions“ (Transaktionen bereitstellen und ausführen):
Sobald du dich auf dem Bildschirm „Deploy and run transactions“ befindest, überprüfe noch einmal, ob der Name deines Vertrags angezeigt wird, und klicke auf „Deploy“ (Bereitstellen). Wie du oben auf der Seite sehen kannst, ist die aktuelle Umgebung „JavaScript VM“. Das bedeutet, dass wir unseren Smart Contract auf einer lokalen Test-Blockchain bereitstellen und mit ihm interagieren werden, um schneller und ohne Gebühren testen zu können.
Sobald du auf die Schaltfläche „Deploy“ geklickt hast, wird dein Vertrag unten angezeigt. Klicke auf den Pfeil auf der linken Seite, um ihn zu erweitern, damit wir den Inhalt unseres Vertrags sehen können. Dies sind unsere Variable counter, unsere Funktion increment() und der Getter getCounter().
Wenn du auf die Schaltfläche count oder getCount klickst, wird der Inhalt der Variablen count des Vertrags abgerufen und angezeigt. Da wir die Funktion increment noch nicht aufgerufen haben, sollte 0 angezeigt werden.
Lass uns nun die Funktion increment aufrufen, indem wir auf die Schaltfläche klicken. Du wirst sehen, dass unten im Fenster Protokolle (Logs) der durchgeführten Transaktionen erscheinen. Du wirst feststellen, dass die Protokolle anders aussehen, wenn du die Schaltfläche zum Abrufen der Daten drückst, anstatt der Schaltfläche increment. Das liegt daran, dass das Lesen von Daten auf der Blockchain keine Transaktionen (Schreiben) oder Gebühren erfordert. Denn nur das Ändern des Zustands der Blockchain erfordert die Durchführung einer Transaktion:
Nach dem Drücken der Schaltfläche „increment“, die eine Transaktion zum Aufruf unserer Funktion increment() generiert, können wir, wenn wir wieder auf die Schaltflächen „count“ oder „getCount“ klicken, den neu aktualisierten Zustand unseres Smart Contracts lesen, wobei die Variable „count“ größer als 0 ist.
Im nächsten Tutorial werden wir behandeln, wie du Ereignisse zu deinen Smart Contracts hinzufügen kannst. Das Protokollieren von Ereignissen (Logging Events) ist eine bequeme Möglichkeit, deinen Smart Contract zu debuggen und zu verstehen, was beim Aufruf einer Funktion passiert.
Letzte Aktualisierung der Seite: 3. März 2026







