Moonbeam
October 7, 2021

Verwenden von Remix zum Bereitstellen auf Moonbeam

Einführung

Remix ist eine der am häufigsten verwendeten Entwicklungsumgebungen für Smart Contracts auf Ethereum. Angesichts der Ethereum-Kompatibilitätsfunktionen von Moonbeam kann Remix direkt mit einem Moonbeam-Entwicklungsknoten oder dem Moonbase Alpha TestNet verwendet werden.

Diese Anleitung führt Sie durch den Prozess zum Erstellen und Bereitstellen eines Solidity-basierten Smart Contracts auf einem Moonbeam development node mithilfe der Remix-IDE.

Notiz

Dieses Tutorial wurde mit dem v0.12.3-Tag erstellt, das auf der Version v0.13.0 von Moonbase Alpha basiert. Die Moonbeam-Plattform und die Frontier-Komponenten, auf die sie für die Substrat-basierte Ethereum-Kompatibilität angewiesen ist, befinden sich noch in sehr aktiver Entwicklung.

Voraussetzungen prüfen

In dieser Anleitung wird davon ausgegangen, dass Sie einen lokalen Moonbeam Node haben, der im --dev Modus ausgeführt wird, und dass Sie eine MetaMask-Installation haben, die für die Verwendung dieses lokalen Node konfiguriert ist. Anweisungen zum Ausführen eines lokalen Moonbeam-Knotens finden Sie hier und Anweisungen zum Verbinden von MetaMask hier.

Wenn Sie die obigen Anleitungen befolgt haben, sollten Sie einen lokalen Moonbeam-Knoten haben, der mit dem Erstellen von Blöcken beginnt, sobald Transaktionen eintreffen:

Und Sie sollten MetaMask haben, die mit Ihrem lokalen Moonbeam-dev node mit mindestens einem Konto verbunden ist, das ein Guthaben hat. Es sollte ungefähr so aussehen (erweiterte Ansicht):

Notiz

Stellen Sie sicher, dass Sie mit Ihrem Moonbeam-Node verbunden sind und nicht mit einem anderen Netzwerk!

Erste Schritte mit Remix

Starten wir nun Remix, um erweiterte Funktionen in Moonbeam zu nutzen.

Starten Sie Remix, indem Sie zu https://remix.ethereum.org/ navigieren. Wählen Sie im Hauptbildschirm unter Umgebungen Solidity aus, um Remix für die Solidity-Entwicklung zu konfigurieren, und navigieren Sie dann zur Ansicht Datei-Explorer:

Wir werden eine neue Datei erstellen, um den Solidity Smart Contract zu speichern. Klicken Sie unter Datei-Explorer auf die Schaltfläche + und geben Sie im Popup-Dialog den Namen "MyToken.sol" ein:

Als Nächstes fügen wir den folgenden Smart Contract in die angezeigte Registerkarte Editor ein:

pragma solidity ^0.7.0;

import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.2.0-solc-0.7/contracts/token/ERC20/ERC20.sol';

// This ERC-20 contract mints the specified amount of tokens to the contract creator.
contract MyToken is ERC20 {
  constructor(uint256 initialSupply) ERC20("MyToken", "MYTOK") {
    _mint(msg.sender, initialSupply);
  }
}

Dies ist ein einfacher ERC-20-Vertrag, der auf dem aktuellen Open Zeppelin ERC-20-Template basiert. Es erstellt MyToken mit dem Symbol MYTOK und prägt die Gesamtheit der Erstlieferung an den Vertragsersteller.

Nachdem Sie den Vertrag in den Editor eingefügt haben, sollte dieser so aussehen:

Navigieren Sie nun zur Seitenleistenoption kompilieren, um die Schaltfläche „Compile MyToken.sol“ zu drücken:

Sie werden sehen, dass Remix alle Open Zeppelin-Abhängigkeiten herunterlädt und den Vertrag kompiliert.

Bereitstellen eines Vertrags in Moonbeam mit Remix

Jetzt können wir den Vertrag bereitstellen, indem wir zur Seitenleistenoption Bereitstellung navigieren. Sie müssen das oberste Dropdown-Menü „Environment“ von „JavaScript VM“ auf „Injected Web3“ ändern. Dies weist Remix an, den injizierten MetaMask-Provider zu verwenden, der ihn auf Ihren Moonbeam-development node verweist. Wenn Sie dies mit dem Moonbase Alpha TestNet versuchen wollten, müssten Sie MetaMask mit dem TestNet statt mit Ihrem lokalen Entwicklungsknoten verbinden.

Sobald Sie "Injected Web3" auswählen, werden Sie aufgefordert, Remix zu erlauben, sich mit Ihrem MetaMask-Konto zu verbinden.

Drücken Sie in der Metamaske auf „Next“, damit Remix auf das ausgewählte Konto zugreifen kann.

Zurück in Remix sollten Sie sehen, dass das Konto, das Sie für die Bereitstellung verwenden möchten, jetzt von MetaMask verwaltet wird. Lassen Sie uns neben der Schaltfläche Bereitstellen eine Anfangsmenge von 8 Millionen Token angeben. Da dieser Vertrag den Standardwert von 18 Dezimalstellen verwendet, ist der in das Feld einzugebende Wert 8000000000000000000000000.

Nachdem Sie diesen Wert eingegeben haben, wählen Sie "Deploy".

Sie werden in MetaMask aufgefordert, die Transaktion zur Vertragsbereitstellung zu bestätigen.

Notiz

Wenn Sie Probleme bei der Bereitstellung eines bestimmten Vertrags haben, können Sie versuchen, das Gaslimit manuell zu erhöhen. Dies können Sie unter Settings -> Advanced -> Advanced Gas Controls = ON.

Nachdem Sie auf Bestätigen geklickt haben und die Bereitstellung abgeschlossen ist, wird die Transaktion in MetaMask aufgelistet. Der Vertrag wird in Remix unter Bereitgestellte Verträge angezeigt.

Sobald der Vertrag bereitgestellt wurde, können Sie mit ihm in Remix interagieren.

Drilldown auf den Vertrag unter "Deployed Contracts". Wenn Sie auf Name, Symbol und totalSupply klicken, sollten „MyToken“, „MYTOK“ bzw. „800000000000000000000000“ zurückgegeben werden. Wenn Sie die Adresse, von der aus Sie den Vertrag bereitgestellt haben, kopieren und in das Feld balanceOf einfügen, sollten Sie das gesamte Guthaben des ERC20 als zu diesem Benutzer gehörend sehen. Kopieren Sie die Vertragsadresse, indem Sie auf die Schaltfläche neben dem Vertragsnamen und der Adresse klicken.

Interaktion mit einem Moonbeam-basierten ERC-20 von MetaMask

Öffnen Sie nun MetaMask, um die neu bereitgestellten ERC-20-Token hinzuzufügen. Stellen Sie vorher sicher, dass Sie die Vertragsadresse von Remix kopiert haben. Zurück in MetaMask klicken Sie wie unten gezeigt auf „Add Token“. Stellen Sie sicher, dass Sie sich in dem Konto befinden, das den Tokenvertrag bereitgestellt hat.

Fügen Sie die kopierte Vertragsadresse in das Feld „Custom Token“ ein. Die Felder „Token Symbol“ und „Decimals of Precision“ sollten automatisch ausgefüllt werden.

Nachdem Sie auf „Next“ geklickt haben, müssen Sie bestätigen, dass Sie diese Token Ihrem MetaMask-Konto hinzufügen möchten. Klicken Sie auf „Add Token“ und Sie sollten einen Saldo von 8 Millionen MyTokens in MetaMask sehen:

Jetzt können wir einige dieser ERC-20-Token an das andere Konto senden, das wir in MetaMask eingerichtet haben. Klicken Sie auf „send“, um die Übertragung von 500 MyTokens einzuleiten und das Zielkonto auszuwählen.

Nachdem Sie auf "next" geklickt haben, werden Sie zur Bestätigung aufgefordert (ähnlich wie unten abgebildet).

Klicken Sie auf „Confirm“ und nach Abschluss der Transaktion sehen Sie eine Bestätigung und eine Reduzierung des MyToken-Kontostands vom Absenderkonto in MetaMask:

Wenn Sie Eigentümer des Kontos sind, an das Sie die Token gesendet haben, können Sie das Token-Asset hinzufügen, um zu überprüfen, ob die Übertragung eingegangen ist.

Verwenden des Moonbeam Remix-Plugins

Das Moonbeam-Team hat ein Remix-Plugin entwickelt, das es noch einfacher macht, Ihre Ethereum Smart Contracts auf Moonbeam zu entwickeln und bereitzustellen. Das Moonbeam Remix Plugin kombiniert alle wichtigen Funktionen, die zum Kompilieren, Bereitstellen und Interagieren mit Ihren Smart Contracts von einem Ort aus erforderlich sind – es ist kein Wechseln der Registerkarten erforderlich.

Installation des Moonbeam Remix-Plugins

Um das Moonbeam Remix Plugin zu installieren, führen Sie die folgenden Schritte aus:

1. Gehen Sie zum Plugin-Manager-Tab
2. Suche nach "Moonbeam"
3. Drücken Sie "Activate" und das Moonbeam Remix Plugin wird direkt über dem Plugin Manager Tab hinzugefügt

Nachdem Sie das Plugin hinzugefügt haben, erscheint auf der linken Seite ein Moonbeam-Logo, das den Reiter Moonbeam Remix Plugin repräsentiert.

Erste Schritte mit dem Moonbeam Remix Plugin

Klicken Sie in Ihrer Remix-IDE auf das Moonbeam-Logo, um das Moonbeam-Plugin zu öffnen. In diesem Teil wird davon ausgegangen, dass Sie bereits einen Vertrag in Remix haben, der kompiliert werden kann. Hier können Sie einen ERC-20-Vertrag generieren. Folgen Sie den Anweisungen, um mit dem Moonbeam Remix Plugin einen ERC-20-Token für Moonbase Alpha bereitzustellen.

1. Drücken Sie "Connect", um Ihre Metamaske mit der Remix-IDE zu verbinden
2. Stellen Sie sicher, dass Sie sich im richtigen Netzwerk befinden. In diesem Beispiel sind wir auf Moonbase Alpha
3. Drücken Sie Compile oder wählen Sie Auto-Kompilieren, wenn Sie es vorziehen
4. Drücken Sie auf Deploy und bestätigen Sie die Transaktion in der Metamaske

So einfach ist das! Sobald der Vertrag bereitgestellt wurde, sehen Sie die Adresse und alle verfügbaren Lese-/Schreibmethoden, um damit zu interagieren.

Das Moonbeam Remix Plugin arbeitet nahtlos mit Remix zusammen, sodass Sie frei zwischen der Verwendung der traditionellen Remix Compile- und Deploy-Registerkarten und dem Moonbeam Remix Plugin wechseln können.

Original (engl.)