Wie verbinde ich Etherwallet mit meiner privaten Blockchain?

Ich kann keine etherwallet v3.4.2Verbindung zu meiner privaten Blockchain herstellen.

So betreibe ich mein privates Netzwerk: (bitte beachten Sie, dass es einwandfrei funktioniert)

geth --port 3000 --networkid 23422 --identity node1 --verbosity 3 --nodiscover \
--nat none --datadir="/home/MyEthereumEbloc" --rpc --rpcaddr="localhost" --rpcport \
8545 --rpccorsdomain="*" --ipcapi "admin,eth,net,web3,debug" \
--rpcapi "admin,eth,net,web3,debug" --autodag=true 

Um die etherwalletEinrichtung einer privaten Kette zu verwenden, habe ich die folgende Anleitung und Antwort ausgefüllt : Wie geführt, kann ich eine leere Seite für die erhalten http://< my_ip >:8000/api.mewund die index.html öffnet sich auf http://< my_ip >:8000. Alles ist in Ordnung und in Ordnung. Aber in dem Moment, in dem ich die Webseite öffne, sehe ich den folgenden Fehler in der Ausgabe von node runLocalServer.jsund diese Fehlermeldung wiederholt sich immer wieder.

node runLocalServer.js
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }

Darüber hinaus erstelle ich als Beispiel eine neue Kontoadresse auf etherwallet. Und drinnen gethhabe ich versucht, etwas etheran diese Adresse zu schicken. Transaktion erfolgreich abgeschlossen, aber der etherwalletKontostand dieses Kontos ist noch leer. Außerdem sende ich eine Transaktion nach innen etherwallet, die nicht in meiner privaten Blockchain angezeigt wird.

Mir wurde gesagt, dass Etherwallet meinen Eth-Knoten nicht finden kann, daher besteht eine Trennung zwischen ihnen. Aber ich konnte nicht herausfinden, wie ich dieses Problem beheben könnte.

Benutzerdefinierten Knoten einrichten:

Auf der Website unter http://< my_ip >:8000, Top Right Box => Add Custom Node: Dann habe ich eingestellt Node Name: node1, URL: https://<my_ip>und port: 8545wie im Beispielfenster aufgetaucht.

Geben Sie hier die Bildbeschreibung ein

Danach sehe ich oben auf der Seite folgenden Fehler:

Geben Sie hier die Bildbeschreibung ein

Bitte beachten Sie, dass ich < my_ip > als 127.0.0.1 und die ursprüngliche IP-Adresse meines Servers versucht habe, aber beide zeigten diesen Fehler. Um eine Verbindung zum lokalen Knoten herzustellen, kann --rpcich aufgrund des Flags davon ausgehen, dass nur localhosteine Verbindung zu meinem Knoten hergestellt werden kann. Also muss ich vielleicht Änderungen an der Response.jsDatei vornehmen web3, um meinen Knoten zu verbinden?

Vielen Dank für Ihre wertvolle Zeit und Hilfe. Es tut mir leid, wenn es Grammatikfehler gibt.

Wenn Sie dafür keine Lösung finden, versuchen Sie es mit der Ethereum Wallet von ethereum.org. Es hat mein Testnetz sofort ohne Konfiguration erkannt.

Antworten (2)

Ich denke, Ihr Hauptproblem ist, dass Sie nur an die localhost-Adresse gebunden sind. Führen Sie geth auf einem Remote-Server aus? oder führen Sie es auf Ihrem lokalen Computer aus und führen es auch mew_relayauf demselben Computer aus?

Wenn Sie Ihr Geth auf einem Remote-Server ausführen und das Relay auf Ihrer lokalen Rechner-ID ausführen, schlagen Sie vor, es zu ändern und es --rpcaddr="0.0.0.0"dann erneut zu versuchen, indem Sie Ihre Remote-Server-IP für den Host verwenden. "0.0.0.0" bindet den RPC an alle verfügbaren Adressen darauf Maschine.

Für Setup Custom Node: Sie versuchen, Ihre IP "127.0.0.1" als https zu verwenden. Versuchen Sie, die neueste Version dist-v3.4.2.zipvon mew von hier herunterzuladen, und öffnen Sie die Datei index.html. Fügen Sie jetzt einen benutzerdefinierten Knoten hinzu, indem Sie Ihre URL als „ http://127.0.0.1 “ eingeben. Es sollte jetzt funktionieren.

Die Online-Version von mew funktioniert nicht, da sie auf HTTPS läuft und HTTPS Ihnen nicht erlaubt, mit HTTP-URLs zu kommunizieren. Daher müssen Sie mew lokal herunterladen und ausführen.

Vergessen Sie nicht, das Kontrollkästchen Benutzerdefiniert anstelle von ETH zu aktivieren.

Die Verwirrung tut mir sehr leid. Ich getharbeite auf einem Remote-Server und führe auch mew_relay und index.html auf demselben Computer aus. Ich habe aktualisiert --rpcaddr="0.0.0.0"; Inside nodeIP.json=> {"node_ip": "< remote_server_ip >", "node_classic_ip":"< remote_server_ip >"}und inside etherwallet-master.js=> mewServer.prototype.SERVERURL = "http://< remote_server_ip >:8000/api.mew";inside runLocalServer.jsund runServer.jsPortnummer geändert als httpServer.listen(8000)und im letzten Schritt habe ich einen benutzerdefinierten Knoten erstellt, indem ich URL: eingegeben habe http://127.0.0.1. Aber ich stehe immer noch vor dem gleichen Problem.
Gute Nachrichten, auf meinem Remote-Server index.htmlkonnte ich beim lokalen Öffnen den benutzerdefinierten Knoten hinzufügen (Bitte beachten Sie, dass dies mit funktioniert hat --rpcaddr="localhost"). Dies funktioniert jedoch nicht, wenn ich versuche, die index.htmlDatei zu öffnen http://< my_ip >:8000, sodass kein Client die Website verwenden kann, die tatsächlich mit der Website verbunden gethist, die auf dem Remote-Server ausgeführt wird. Damit dies funktioniert, muss der Client auch gethauf seinem lokalen Computer ausgeführt werden, oder gibt es eine andere Lösung?

Sie müssen das Mew-Relay nicht ausführen, um einen benutzerdefinierten Knoten hinzuzufügen. Lass uns das machen.

Schritt 1 : Führen Sie geth mit rpcaddr "0.0.0.0" aus

Schritt 2: Laden Sie die neueste dist.zip -Datei erneut von GitHub herunter

Schritt 3: Öffnen Sie die Datei index.html. Klicken Sie auf den Knotenumschalter . Klicken Sie auf den benutzerdefinierten Knoten. Geben Sie für die URL http:// < Ihre Remote-IP > ein und klicken Sie nun auf Hinzufügen. Das ist alles, was Sie brauchen, um einen benutzerdefinierten Knoten hinzuzufügen. Zuerst dachte ich, Sie versuchen, das mew_relay zum Laufen zu bringen. :) Wir benötigen das Relais nicht mehr, um einen benutzerdefinierten Knoten hinzuzufügen. Lassen Sie mich wissen, wie es geht.

Möglicherweise möchten Sie Ihr Konto registrieren, und wir können Ihre Identitäten zusammenführen.
Ich gehe davon aus, dass das Laufen gethmit rpcaddr "localhost"sicherer ist. Daher ist es zuverlässiger, Clients dazu zu zwingen, gethauf ihrem lokalen Computer zu laufen und sich mit diesem zu verbinden. Aber Ihre beiden Antworten funktionieren. Vielen Dank!
Genau das Ausführen von geth mit 0.0.0.0, das es mit allen Adressen abbildet, ist riskant. Sie sollten eine Firewall und eine Zugriffs-Whitelist einrichten