บทเรียนที่ 3

Schreiben eines einfachen Smart Contracts

Variablen, Funktionen und Modifier sind wesentliche Bestandteile in Solidity Smart Contracts. Solidity hat zwei Arten von Variablen: Zustandsvariablen und lokale Variablen.

In diesem Abschnitt werden wir den Prozess des Schreibens eines grundlegenden Smart Contracts mit Solidity diskutieren. Wir werden wesentliche Komponenten wie Variablen, Funktionen und Modifikatoren behandeln. Anschließend werden wir anhand eines Beispiels die Implementierung eines einfachen Token-Vertrags durchgehen.

Variablen, Funktionen und Modifikatoren

  • VariablenIn Solidity gibt es zwei Arten von Variablen - Zustandsvariablen und lokale Variablen. Zustandsvariablen werden dauerhaft auf der Blockchain gespeichert, während lokale Variablen vorübergehend sind und nur im Rahmen einer Funktion existieren.
  • Funktionen: Funktionen sind die Bausteine von Smart Contracts. Sie werden verwendet, um spezifische Aufgaben auszuführen, wie z.B. das Erstellen von Transaktionen und die Ausführung benutzerdefinierter Logik. Funktionen können Eingabeparameter und Rückgabewerte haben, was eine größere Anpassungsfähigkeit und Flexibilität ermöglicht.
  • Modifikatoren: Modifikatoren sind einzigartig für Solidity und werden verwendet, um das Verhalten einer Funktion zu modifizieren. Sie können die Lesbarkeit und Verwaltbarkeit des Codes verbessern und können verwendet werden, um eingehende Werte zu authentifizieren oder bedingt eine aufgerufene Funktion auszuführen.

Beispiel1: Implementierung eines einfachen Token-Vertrags

Lassen Sie uns einen einfachen Tokenvertrag mit Solidity erstellen. Dieser Vertrag ermöglicht es Benutzern, Token zwischen Konten zu übertragen und den Token-Saldo eines beliebigen Kontos zu überprüfen.

TypeScriptpragma Solidität ^0.8.0;Vertrag SimpleToken {    // Deklariere Zustandsvariablen    Adresse öffentlich Besitzer;    Abbildung(Adresse => uint256) öffentliche Salden;    // Initialisiere den Tokenvertrag    Konstruktor(uint256 initialSupply) {        Besitzer = msg.sender;        Salden[Besitzer] = initialSupply;    }    // Funktion zum Übertragen von Token    Funktion übertragen(Adresse an, uint256 Betrag) öffentlich {        erfordern(Salden[msg.sender] >= Betrag, "Unzureichendes Guthaben");        Salden[msg.sender] -= Betrag;        Salden[an] += Betrag;    }    // Funktion zum Überprüfen des Token-Guthabens eines Kontos    Funktion balanceOf(Adresse Konto) öffentlich view returns (uint256) {        return Salden[Konto];    }}

In diesem Vertrag haben wir:

  • Zustandsvariablen EigentümerundGuthabenum die Adresse des Vertragsbesitzers und die Token-Guthaben aller Adressen jeweils zu speichern.
  • A KonstruktorFunktion, die das anfängliche Token-Angebot festlegt und sie dem Vertragsinhaber zuweist.
  • A ÜbertragungFunktion, die es Benutzern ermöglicht, Tokens an andere Konten zu übertragen. Es verwendet die erfordernAussage, um sicherzustellen, dass der Absender genügend Token zum Transferieren hat.
  • Ein KontostandFunktion, die den Token-Guthaben eines bestimmten Kontos zurückgibt.
  • Dieser grundlegende Token-Vertrag zeigt, wie man Variablen, Funktionen und Modifier in Solidity verwendet, um einen einfachen, funktionalen Smart Contract zu erstellen.

Beispiel2: Implementierung eines einfachen Wahlsystems

TypeScriptpragma Solidität ^0.8.0;Vertragsabstimmungssystem {    Abbildung (bytes32 => uint256) öffentliche StimmenEmpfangen;    bytes32[] öffentliche Kandidatenliste;    Konstruktor(bytes32[] Speicher Kandidatennamen) {        Kandidatenliste = Kandidatennamen;    }    Funktion StimmeFürKandidaten(bytes32 Kandidat) öffentlich {        erfordern gültigerKandidat(Kandidat), "Ungültiger Kandidat.";        StimmenEmpfangen[Kandidat] += 1;    }    Funktion gesamtStimmenFür(bytes32 Kandidat) öffentlich anzeigen gibt (uint256) {        erfordern gültigerKandidat(Kandidat), "Ungültiger Kandidat.";        return StimmenEmpfangen[Kandidat];    }    Funktion gültigerKandidat(bytes32 Kandidat) öffentlich anzeigen gibt (bool) {        für (uint256 i = 0; i < Kandidatenliste.length; i++) {            wenn (Kandidatenliste[i] == Kandidat) {                return wahr;            }        }        return falsch;    }}

In diesem Beispiel, das AbstimmungssystemDer Vertrag ermöglicht es den Benutzern, durch Aufrufen des Vertrags für einen von mehreren Kandidaten zu stimmen.StimmeFürKandidatenFunktion. Der Vertrag verfolgt die Anzahl der erhaltenen Stimmen für jeden Kandidaten mithilfe eines erhaltene StimmenZuordnung, wobei der Schlüssel der Name des Kandidaten und der Wert die Anzahl der Stimmen ist. KandidatenlisteDie Variable speichert die Liste der gültigen Kandidaten. The GesamtstimmenFürDie Funktion kann aufgerufen werden, um die Anzahl der Stimmen zu überprüfen, die ein bestimmter Kandidat erhalten hat, und die gültiger KandidatDie Funktion überprüft, ob ein Kandidat gültig ist. Dies ist ein einfaches Beispiel dafür, wie Solidität verwendet werden kann, um dezentrale Anwendungen mit komplexer Logik zu erstellen.

Höhepunkte
Variablen, Funktionen und Modifier sind wesentliche Bestandteile in Solidity Smart Contracts.
Solidity hat zwei Arten von Variablen: Zustandsvariablen und lokale Variablen.
Funktionen werden verwendet, um Aufgaben auszuführen und können Eingabeparameter und Rückgabewerte haben.
Modifier werden verwendet, um das Verhalten einer Funktion zu ändern und die Code Lesbarkeit und Verwaltbarkeit zu verbessern.
Der SimpleToken-Vertrag ermöglicht es Benutzern, Tokens zu übertragen und Token-Guthaben zu überprüfen.
Der SimpleToken-Vertrag zeigt die Verwendung von Zustandsvariablen, einer Konstruktionsfunktion und Funktionen wie Übertragung und Kontostand.
Der VotingSystem-Vertrag ermöglicht es Benutzern, für Kandidaten zu stimmen und die Stimmenanzahl zu verfolgen.
Der VotingSystem-Vertrag zeigt die Verwendung von Zuordnungen, Arrays und Funktionen wie voteForCandidate, totalVotesFor und validCandidate.

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 3

Schreiben eines einfachen Smart Contracts

Variablen, Funktionen und Modifier sind wesentliche Bestandteile in Solidity Smart Contracts. Solidity hat zwei Arten von Variablen: Zustandsvariablen und lokale Variablen.

In diesem Abschnitt werden wir den Prozess des Schreibens eines grundlegenden Smart Contracts mit Solidity diskutieren. Wir werden wesentliche Komponenten wie Variablen, Funktionen und Modifikatoren behandeln. Anschließend werden wir anhand eines Beispiels die Implementierung eines einfachen Token-Vertrags durchgehen.

Variablen, Funktionen und Modifikatoren

  • VariablenIn Solidity gibt es zwei Arten von Variablen - Zustandsvariablen und lokale Variablen. Zustandsvariablen werden dauerhaft auf der Blockchain gespeichert, während lokale Variablen vorübergehend sind und nur im Rahmen einer Funktion existieren.
  • Funktionen: Funktionen sind die Bausteine von Smart Contracts. Sie werden verwendet, um spezifische Aufgaben auszuführen, wie z.B. das Erstellen von Transaktionen und die Ausführung benutzerdefinierter Logik. Funktionen können Eingabeparameter und Rückgabewerte haben, was eine größere Anpassungsfähigkeit und Flexibilität ermöglicht.
  • Modifikatoren: Modifikatoren sind einzigartig für Solidity und werden verwendet, um das Verhalten einer Funktion zu modifizieren. Sie können die Lesbarkeit und Verwaltbarkeit des Codes verbessern und können verwendet werden, um eingehende Werte zu authentifizieren oder bedingt eine aufgerufene Funktion auszuführen.

Beispiel1: Implementierung eines einfachen Token-Vertrags

Lassen Sie uns einen einfachen Tokenvertrag mit Solidity erstellen. Dieser Vertrag ermöglicht es Benutzern, Token zwischen Konten zu übertragen und den Token-Saldo eines beliebigen Kontos zu überprüfen.

TypeScriptpragma Solidität ^0.8.0;Vertrag SimpleToken {    // Deklariere Zustandsvariablen    Adresse öffentlich Besitzer;    Abbildung(Adresse => uint256) öffentliche Salden;    // Initialisiere den Tokenvertrag    Konstruktor(uint256 initialSupply) {        Besitzer = msg.sender;        Salden[Besitzer] = initialSupply;    }    // Funktion zum Übertragen von Token    Funktion übertragen(Adresse an, uint256 Betrag) öffentlich {        erfordern(Salden[msg.sender] >= Betrag, "Unzureichendes Guthaben");        Salden[msg.sender] -= Betrag;        Salden[an] += Betrag;    }    // Funktion zum Überprüfen des Token-Guthabens eines Kontos    Funktion balanceOf(Adresse Konto) öffentlich view returns (uint256) {        return Salden[Konto];    }}

In diesem Vertrag haben wir:

  • Zustandsvariablen EigentümerundGuthabenum die Adresse des Vertragsbesitzers und die Token-Guthaben aller Adressen jeweils zu speichern.
  • A KonstruktorFunktion, die das anfängliche Token-Angebot festlegt und sie dem Vertragsinhaber zuweist.
  • A ÜbertragungFunktion, die es Benutzern ermöglicht, Tokens an andere Konten zu übertragen. Es verwendet die erfordernAussage, um sicherzustellen, dass der Absender genügend Token zum Transferieren hat.
  • Ein KontostandFunktion, die den Token-Guthaben eines bestimmten Kontos zurückgibt.
  • Dieser grundlegende Token-Vertrag zeigt, wie man Variablen, Funktionen und Modifier in Solidity verwendet, um einen einfachen, funktionalen Smart Contract zu erstellen.

Beispiel2: Implementierung eines einfachen Wahlsystems

TypeScriptpragma Solidität ^0.8.0;Vertragsabstimmungssystem {    Abbildung (bytes32 => uint256) öffentliche StimmenEmpfangen;    bytes32[] öffentliche Kandidatenliste;    Konstruktor(bytes32[] Speicher Kandidatennamen) {        Kandidatenliste = Kandidatennamen;    }    Funktion StimmeFürKandidaten(bytes32 Kandidat) öffentlich {        erfordern gültigerKandidat(Kandidat), "Ungültiger Kandidat.";        StimmenEmpfangen[Kandidat] += 1;    }    Funktion gesamtStimmenFür(bytes32 Kandidat) öffentlich anzeigen gibt (uint256) {        erfordern gültigerKandidat(Kandidat), "Ungültiger Kandidat.";        return StimmenEmpfangen[Kandidat];    }    Funktion gültigerKandidat(bytes32 Kandidat) öffentlich anzeigen gibt (bool) {        für (uint256 i = 0; i < Kandidatenliste.length; i++) {            wenn (Kandidatenliste[i] == Kandidat) {                return wahr;            }        }        return falsch;    }}

In diesem Beispiel, das AbstimmungssystemDer Vertrag ermöglicht es den Benutzern, durch Aufrufen des Vertrags für einen von mehreren Kandidaten zu stimmen.StimmeFürKandidatenFunktion. Der Vertrag verfolgt die Anzahl der erhaltenen Stimmen für jeden Kandidaten mithilfe eines erhaltene StimmenZuordnung, wobei der Schlüssel der Name des Kandidaten und der Wert die Anzahl der Stimmen ist. KandidatenlisteDie Variable speichert die Liste der gültigen Kandidaten. The GesamtstimmenFürDie Funktion kann aufgerufen werden, um die Anzahl der Stimmen zu überprüfen, die ein bestimmter Kandidat erhalten hat, und die gültiger KandidatDie Funktion überprüft, ob ein Kandidat gültig ist. Dies ist ein einfaches Beispiel dafür, wie Solidität verwendet werden kann, um dezentrale Anwendungen mit komplexer Logik zu erstellen.

Höhepunkte
Variablen, Funktionen und Modifier sind wesentliche Bestandteile in Solidity Smart Contracts.
Solidity hat zwei Arten von Variablen: Zustandsvariablen und lokale Variablen.
Funktionen werden verwendet, um Aufgaben auszuführen und können Eingabeparameter und Rückgabewerte haben.
Modifier werden verwendet, um das Verhalten einer Funktion zu ändern und die Code Lesbarkeit und Verwaltbarkeit zu verbessern.
Der SimpleToken-Vertrag ermöglicht es Benutzern, Tokens zu übertragen und Token-Guthaben zu überprüfen.
Der SimpleToken-Vertrag zeigt die Verwendung von Zustandsvariablen, einer Konstruktionsfunktion und Funktionen wie Übertragung und Kontostand.
Der VotingSystem-Vertrag ermöglicht es Benutzern, für Kandidaten zu stimmen und die Stimmenanzahl zu verfolgen.
Der VotingSystem-Vertrag zeigt die Verwendung von Zuordnungen, Arrays und Funktionen wie voteForCandidate, totalVotesFor und validCandidate.

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn