Ich kann keine etherwallet v3.4.2
Verbindung 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 etherwallet
Einrichtung 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.mew
und 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.js
und 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 geth
habe ich versucht, etwas ether
an diese Adresse zu schicken. Transaktion erfolgreich abgeschlossen, aber der etherwallet
Kontostand 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: 8545
wie im Beispielfenster aufgetaucht.
Danach sehe ich oben auf der Seite folgenden Fehler:
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 --rpc
ich aufgrund des Flags davon ausgehen, dass nur localhost
eine Verbindung zu meinem Knoten hergestellt werden kann. Also muss ich vielleicht Änderungen an der Response.js
Datei vornehmen web3
, um meinen Knoten zu verbinden?
Vielen Dank für Ihre wertvolle Zeit und Hilfe. Es tut mir leid, wenn es Grammatikfehler gibt.
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_relay
auf 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.zip
von 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.
geth
arbeite 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.js
und runServer.js
Portnummer 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.index.html
konnte 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.html
Datei zu öffnen http://< my_ip >:8000
, sodass kein Client die Website verwenden kann, die tatsächlich mit der Website verbunden geth
ist, die auf dem Remote-Server ausgeführt wird. Damit dies funktioniert, muss der Client auch geth
auf 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.
geth
mit rpcaddr "localhost"
sicherer ist. Daher ist es zuverlässiger, Clients dazu zu zwingen, geth
auf ihrem lokalen Computer zu laufen und sich mit diesem zu verbinden. Aber Ihre beiden Antworten funktionieren. Vielen Dank!
Max Binnewies