Wie können wir einen Smart Contract in Ethereum Wallet erstellen und aufrufen [geschlossen]

Ich habe einen Beispiel-Smart-Contract im Online-Solidity-Compiler namens Remix erstellt und ich habe auch eine private Blockchain erstellt. Dann habe ich auch eine Ethereum-Wallet, die in diesem privaten Testnetzwerk läuft. Kann mir jemand sagen, wie ich diesen Smart Contract in der Ethereum Wallet verwenden kann?

Antworten (2)

Es gibt 2 Wege.

  1. Stellen Sie den Vertrag mit Ethereum-Wallet bereit und verwenden Sie diese direkt.
  2. Stellen Sie den Vertrag mit Remix bereit und fügen Sie den bereitgestellten Vertrag zu ethereum-wallet hinzu.

Sehen wir uns alle einzeln an:

Bereitstellung mit Ethereum Wallet (oder Mist)

  • Starten Sie die Privet-Blockchain und führen Sie ethereum-wallet (oder Mist) aus. Stellen Sie sicher, dass Mist mit Ihrem privaten Netzwerk und nicht mit dem öffentlichen Netzwerk verbunden ist.
  • Gehen Sie in Mist zur Registerkarte Verträge.
  • Klicken Sie auf Neuen Vertrag bereitstellen.
  • Fügen Sie den Vertragscode in die SOLIDITY CONTRACT SOURCE CODERegisterkarte ein.
  • Wählen Sie das Eigentümerkonto aus, von dem Sie den Vertrag bereitstellen möchten. Wenn Sie über mehrere Verträge verfügen, wählen Sie den Vertrag aus, den Sie bereitstellen möchten. (Möglicherweise müssen Sie Konstruktorargumente angeben, wenn Ihre Verträge solche haben).
  • Wählen Sie auf dieser Registerkarte das Konto aus, von dem Sie den Vertrag bereitstellen möchten FROM.
  • Klicken Sie auf Bereitstellen.
  • Stellen Sie sicher, dass der Miner läuft. (Sie können eingeben miner.start(4), geth consoleum mit dem Mining zu beginnen und miner.stop()das Mining zu stoppen.
  • Sobald der Vertrag bereitgestellt wurde, können Sie auf der COntractsRegisterkarte „Mist“ auf den Vertrag zugreifen

Bereitstellen mit Remix

  • Verbinden Sie zunächst Ihren Remix-Compiler mit Ihrem privaten Netzwerk.

  • Gehen Sie zur runRegisterkarte Remix und environmentswählen Sie unter Web3 Provider.

  • Geben Sie unter Web3 Provider EndpointRPC-Adresse Ihres Knotens ein. (wie http://127.0.0.1:8015 )

  • Sobald Ihr Knoten verbunden ist, können Sie das Konto auf der accountsRegisterkarte auswählen und den Vertrag bereitstellen. (Ich nehme an, das haben Sie bereits getan).

  • Denken Sie daran, dass Sie den Miner ausführen müssen, wenn er nicht bereits ausgeführt wird, um Ihre Transaktion abzubauen.

  • Kopieren Sie nach der Bereitstellung des Vertrags die Adresse von Smart Contract und abi.

  • Öffnen Sie Ihre Ethereum-Wallet, die auch mit derselben privaten Blockchain verbunden sein muss, mit der Remix verbunden war.

  • Gehen Sie zur contractsRegisterkarte und klicken Sie auf Watch contract.

  • Geben Sie den Vertragsnamen und die soeben kopierte Adresse und abi ein. Und Ihr Vertrag wird unter Contractsder Registerkarte sichtbar sein.

Beim Bereitstellen mit Remix, als ich die RPC-Adresse angab, wurde ein Fehler gemeldet, der besagte: "Verbindung zum Web3-Anbieter kann nicht hergestellt werden. Stellen Sie sicher, dass der Anbieter ausgeführt wird und eine Verbindung geöffnet ist (über IPC oder RPC)."
Ich habe die erste von Ihnen erwähnte Methode ausprobiert und meinen Smart Contract bereitgestellt. Danke Prashant.. :)
Schön zu hören, dass ich helfen konnte. Und bei der zweiten Methode konnte Remix keine Verbindung zu Ihrem privaten Netzwerk herstellen. Stellen Sie sicher, dass Sie --rpcein --rpcport "some_port"Flag gesetzt haben. Ich denke, Sie benötigen auch das rpccorsdomain-Flag als --rpccorsdomain "*". Aber denken Sie daran, das Flag in der Produktion nicht rpccorsdomainauf * zu setzen. Es ist nur zum Testen.

Stellen Sie sicher, dass Ihr privates Netzwerk läuft. Dann einfach ein Terminal öffnen und fertig

$ ethereumwallet --rpc path/to/geth.ipc

zum beispiel für mich

$ ethereumwallet --rpc privateNetworks/geth_PoA/node1/geth.ipc

wenn du dann rpc erlaubt hast

$ ethereumwallet --rpc "http://localhost:8545"

sollte auch funktionieren (aktualisiere den RPC-Port auf deine Konfiguration). Verwenden Sie von dort aus die Ehereum-Wallet-Benutzeroberfläche zum Bereitstellen von Verträgen. Sie benötigen den Bytecode und abi Ihres Smart Contracts. Um sie zu bekommen, tun

$ solcjs --abi --bin yourContract.sol

und kopieren Sie einfach den Inhalt in die Ethereum-Brieftasche unter "Vertrag erstellen".

Der Prozess ist genau der gleiche für Nebel.