Web3 - Entwicklung des ersten Smart Contracts

Lernen Sie, den ersten Smart Contract zu schreiben, der Link unten ist die integrierte Entwicklungsumgebung

https://github.com/smartcontractkit/full-blockchain-solidity-course-js#lesson-2-welcome-to-remix-simple-storage

Bildbeschreibung hier einfügen

Klicken Sie auf "Remix", um zur Remix IDE zu gelangen, hier möchten wir Code schreiben, integrierte Entwicklungsumgebung. Hier werden Smart Contracts geschrieben und mit ihnen interagiert. Klicken Sie auf „Akzeptieren“.
Bildbeschreibung hier einfügen

Es hat viele Funktionen und hilft uns, intelligente Verträge anzuzeigen und mit ihnen zu interagieren, obwohl wir uns allmählich von „Remix“ entfernen und die lokale Entwicklungsumgebung verwenden werden. Aber Remix ist sehr hilfreich, um die Grundlagen von Smart Contracts zu lernen.

Um den ersten Vertrag zu entwickeln, erstellen Sie eine neue „SimpleStorage.sol"-Datei unter „Verträge". .sol teilt dem Compiler mit, dass es sich um eine Solidity-Datei handelt. Solidity ist die Hauptprogrammiersprache für Smart Contracts. In jedem Smart Contract von Solidity müssen Sie zuerst Alles, was Sie brauchen, ist die gebrauchte Version von Solidity. Da die Update-Frequenz sehr hoch ist, wird die Versionsnummer durch Hinzufügen der zu verwendenden Versionsnummer durch "Pragma Solidity" vereinbart,

Fügen Sie „SPDX-License-Identifier" am Anfang des Codes hinzu. Wenn es keinen gibt, gibt der Compiler eine Warnung aus. Dadurch werden die Lizenz- und Code-Sharing-Regeln definiert. Wie in der Abbildung gezeigt, wird MIT verwendet und MIT ist eine der am wenigsten restriktiven Lizenzen. Zu diesem
Zeitpunkt können Sie sie kompilieren, zur Kompilierungsoberfläche gehen, auf das Bild unten klicken,
Bildbeschreibung hier einfügen
kein Smart Contract, jetzt mit der Definition beginnen

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;  // 或者 ^0.8.7  或者 >=0.8.7

// 没有智能合约现在开始定义,输入“contract” ,contract是Solidity的关键字,告诉编译器后面的代码是来定义智能合约的。给智能合约取名名字叫“SimpleStorage”
contract SimpleStorage {
    
    

}

Zu diesem Zeitpunkt können wir das grüne Häkchen sehen, indem wir zum Speichern Strg + S drücken. Wie nachfolgend dargestellt
Bildbeschreibung hier einfügen

Wenn nicht, rufen Sie die Kompilierungsschnittstelle auf, klicken Sie auf Kompilieren, und dann können Sie es sehen. Ein grünes Häkchen zeigt an, dass der Code erfolgreich und fehlerfrei kompiliert wurde.

Solidität grundlegende Datentypen

Die vier grundlegendsten Datentypen sind: boolean, uint, int und address;

  • boolean definiert wahr oder falsch.
  • uint ist eine ganze Zahl ohne Vorzeichen, was bedeutet, dass diese Zahl weder positiv noch negativ ist, sondern nur positiv sein kann.
  • int kann positive oder negative Zahlen darstellen.
  • address stellt die Adresse dar, wie sie in Metamask zu sehen ist.
bytes是一种更底层的数据类型。
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;  // 或者 ^0.8.7  或者 >=0.8.7

// 没有智能合约现在开始定义,输入“contract” ,contract是Solidity的关键字,告诉编译器后面的代码是来定义智能合约的。给智能合约取名名字叫“SimpleStorage”
contract SimpleStorage {
    
    
    // 创建一个变量,叫做“hasFavoriteNumber”
    bool hasFavoriteNumber = false; // 布尔类型数据
    uint8 favoriteNumber = 123;  // uint 比较特殊,我们可以决定给它分配的空间。uint8表示分配了8个bit ,最大uint256 ,
    int256 hasFavoriteInt = -54;
   // address myAddress = 0x106225d232323a23323592898;
    bytes32 favoriteByte = "1212";
    string hasFavoriteText= "123";
}

Funktion

Wie Javascript wird es durch das Schlüsselwort "Funktion" dargestellt,


    uint256 favoriteNum; // 定义变量
    // 接收uint256的参数,参数名是“_favoriteNum” .定义为public函数
    function funName(uint256 _favoriteNum) public {
    
      
          favoriteNum = _favoriteNum; // 一定要带上“;”符号`
    }

Um die tatsächlichen Betriebsergebnisse zu sehen, haben wir den Vertrag in einer Testumgebung bereitgestellt. Bereitstellen im lokalen Netzwerk, Kompilieren vor dem Bereitstellen,
Bereitstellen und Senden des Transaktionsbereichs.
Bildbeschreibung hier einfügen

Jedes Konto hat 100 Ether. Diese Konten ähneln den Konten in Metamask, der Unterschied besteht darin, dass dies die Ether-Währung im Test ist.
Sie können das Gaslimit festlegen, den bereitzustellenden Vertrag auswählen und
auf die Schaltfläche „Bereitstellen“ klicken, um den Vertrag bereitzustellen. Das laufende Ergebnis ist in der Abbildung unten dargestellt.

Bildbeschreibung hier einfügen
Deployed Contracts ist die Smart-Contract-Deployment-Adresse. Klicken Sie rechts auf das Drop-down-Menü, um vertraute Schlüsselwörter anzuzeigen: Status, Transaktions-Hash, von, bis usw. Das Bereitstellen eines Vertrags ist eigentlich das Senden einer Transaktion. Wenn wir irgendetwas in der Blockchain tun, um einen Zustand zu ändern, senden wir eine Transaktion.Durch das Bereitstellen eines Vertrags wird die Blockchain geändert, sodass der Vertrag in der Blockchain besessen werden kann.
Geben Sie 123 test nach dem Funktionsnamen "funName" ein, wie in der folgenden Abbildung gezeigt, Sie können sehen, dass der Kontostand auch etwas geringer ist. Denn wenn wir den Vertrag kündigen, wird etwas Gas verbraucht.
Bildbeschreibung hier einfügen

Supongo que te gusta

Origin blog.csdn.net/weixin_43506403/article/details/127880864
Recomendado
Clasificación