Ethereum - Interaktion mit dem bereitgestellten Vertrag

Jetzt können Sie mit dem von Ihnen bereitgestellten Vertrag interagieren. Kehren Sie zum MyEtherWallet-Desktop zurück und klicken Sie auf die Registerkarte "Mit Vertrag interagieren" (siehe Abbildung unten).

Fügen Sie die Vertragsadresse ein, die Sie zuvor in die kopiert haben “Contract Address”Feld. Sie müssen auch die einfügen“ABI / JSON Interface” des Vertrages auf dem obigen Bildschirm.

Um das zu bekommen ABI, geh zum Remix Fenster und klicken Sie auf das ABI Schaltfläche wie im folgenden Screenshot gezeigt.

Die ABI / JSON-Schnittstelle wird in die Zwischenablage kopiert. Fügen Sie dies in Ihren bevorzugten Editor ein, um die generierte Oberfläche zu untersuchen, die unten gezeigt wird -

ABI / JSON Interface
[
   {
      "constant": false,
      "inputs": [
         {
            "name": "newDeposit",
            "type": "uint256"
         }
      ],
      "name": "send",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
   },
   {
      "inputs": [
         {
            "name": "initialAmount",
            "type": "uint256"
         },
         {
            "name": "initialValue",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getAmount",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getBalance",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   }
]

Nachdem Sie diesen JSON in das Feld eingefügt haben MyEtherWallet Schnittstelle werden Sie feststellen, dass die ACCESS-Schaltfläche unter der JSON-Schnittstelle jetzt aktiviert ist, wie unten gezeigt -

Klicken Access Schaltfläche, um auf den Vertrag zuzugreifen.

Beim Klicken auf die AccessAuf der Schaltfläche wird die Dropdown-Liste für Vertragsadresse und Funktionsauswahl wie im Remix-Editor auf dem Bildschirm angezeigt. Dies wird im folgenden Screenshot gezeigt -

Sie können die verschiedenen Funktionen des Vertrags wie im Fall der Remix-Bereitstellung überprüfen. Beachten Sie, dass der Kontakt jetzt in einer externen Ganache-Blockchain bereitgestellt wird. Überprüf dengetAmountFunktion; Sie erhalten den Betragswert von Null und dengetBalance zeigt einen Saldo von 1000.

Versuchen Sie nun, etwas Geld zu senden. Es wird Ihnen eine präsentierentexteditKontrolle zur Eingabe des Betrags. Wenn Sie den Vertrag schreiben, wird etwas „Gas“ verwendet und Sie werden aufgefordert, die Transaktion zu bestätigen, bevor Sie sie in die Blockchain schreiben. Die Transaktion wird in kurzer Zeit ausgeführt, abhängig von dem Mining-Timing, das Sie auf dem Ganache-Server festgelegt haben. Danach können Sie die erneut überprüfenvalue und die amount Vertragsfelder, um zu überprüfen, ob diese tatsächlich geändert wurden.

Sie können jetzt den Ganache-Desktop untersuchen, um die Transaktionen anzuzeigen, die Sie bisher ausgeführt haben. Eine Beispielausgabe ist unten dargestellt -

Bisher waren Sie sowohl Vertragsschöpfer als auch Vertragsabwickler. Dies ist wenig sinnvoll, da Sie erwarten, dass andere Ihren Vertrag nutzen. Dazu erstellen wir einen weiteren Client für unsere Ganache Blockchain und senden etwas Geld vom neu erstellten Konto Nr. 2 an den Vertragsersteller auf Konto Nr. 1.