Zum Hauptinhalt springen

Bereitstellung deines ersten Smart Contracts

Smart Contracts
Remix
Solidity
Bereitstellung
Anfänger
jdourlens
3. April 2020
4 Minuten Lesezeit

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.

Hinzufügen einer neuen Datei in der Remix-Benutzeroberfläche

In die neue Datei fügen wir den folgenden Code ein.

1// SPDX-License-Identifier: MIT
2pragma solidity >=0.5.17;
3
4contract Counter {
5
6 // Öffentliche Variable vom Typ unsigned int, um die Anzahl der Zählungen zu speichern
7 uint256 public count = 0;
8
9 // Funktion, die unseren Zähler inkrementiert
10 function increment() public {
11 count += 1;
12 }
13
14 // Nicht notwendiger Getter, um den Zählerwert abzurufen
15 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 Variable count.
  • Zeile 15: Die zweite Funktion ist nur ein Getter, um den Wert der Variablen count außerhalb des Smart Contracts lesen zu können. Beachte, dass dies nicht zwingend erforderlich ist, da wir unsere Variable count als ö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:

Das Kompilieren-Symbol in der Remix-Symbolleiste

Klicke dann auf die Schaltfläche „Kompilieren“ (Compile):

Die Schaltfläche „Kompilieren“ im Remix-Solidity-Compiler

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

Das Bereitstellen-Symbol in der Remix-Symbolleiste

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.

Die Schaltfläche „Bereitstellen“ im Remix-Solidity-Compiler

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.

Die Funktionsschaltfläche im Remix-Solidity-Compiler

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:

Ein Protokoll von Transaktionen

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.

Neu aktualisierter Zustand des Smart Contracts

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

War dieses Tutorial hilfreich?