MetaMask und Access Ethereum Private Chain von einem anderen PC im selben Netzwerk (zum Test)

Mein Ziel: Die Ethereum-Blockchain mit verschiedenen Clients simulieren . Sie erstellen also ihre eigenen Konten, dh öffentliche/private Schlüssel, und speichern sie lokal. Also alles zum Testen.


Angenommen, ich habe auf Computer A eine private Kette eingerichtet. Kann ich MetaMask auf Computer B installieren und mich mit der privaten Kette von Computer A verbinden?

Wenn JA, wie kann ich das tun?

Wenn NEIN, wie kann ich zwei Knoten (jeweils auf einem anderen Computer und mit der regulären IP-Adresse, nicht einer statischen) verbinden, damit sie sich mit einer minimalen Einrichtung mit der privaten Kette verbinden können?

Antworten (2)

Sie können dies auf beide Arten tun, indem Sie die beiden Computer miteinander vernetzen.

Verwenden von Metamask ;

Wählen Sie das Netzwerk als benutzerdefinierten RPC aus und geben Sie die benutzerdefinierte URL als einhttp://[ComputerA's ip address]:[rpc port]

z.B:

Wenn die IP-Adresse von Computer A lautet 192.168.8.100und der RPC-Port 8545verwendet wird,

http://192.168.8.100:8545

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Mit web3 ;

Als eine Ihrer eigenen Fragen: Wie kann ich meine HTML-Benutzeroberfläche mit meiner privaten Ethereum-Kette verbinden? Sie können verwenden

web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

mit der leichten Änderung von; Ersetzen Sie stattdessen localhostdie IP-Adresse des anderen Computers (in Ihrem Fall die IP-Adresse von Computer A im LAN) und die 8545 durch die Portnummer.

z.B:

Wenn die IP-Adresse von Computer A lautet 192.168.8.101und der RPC-Port 8545verwendet wird,

web3 = new Web3(new Web3.providers.HttpProvider("http://192.168.8.101:8545"));

BEARBEITEN : Es ist erforderlich, dass RPC auf Computer A aktiviert ist, damit Computer B darauf zugreifen kann

--rpc --rpcport "8545" --rpccorsdomain "[commputer B's ip address OR *]" --rpcaddr "[computer A's ip address]" 

Diese Antwort ist nur eine Ergänzung zu der Antwort von @Achala Dissanayake, und ich möchte ihm noch einmal danken!

Um zwei Computer in verschiedenen Internetnetzwerken (z. B. WLAN, unter einer Firewall oder einer beliebigen Kombination von Einstellungen) mit einer Maschine A zu verbinden und Transaktionen/intelligente Verträge an die private Kette zu senden, können wir in Maschine A Folgendes tun:

Zuerst installieren wir Hamachi auf allen Maschinen, einschließlich Maschine A. Hamachi erlaubt den Computern, eine IP-Adresse zu haben, und fügt sie in ein virtuelles LAN ein. Dann fügt jede Maschine die IP-Adresse von Maschine A in der Hamachi-Software hinzu (das ist sehr einfach).

Angenommen, die von Hamachi bereitgestellte IP-Adresse von Maschine A lautet: xyzw

Um eine private Kette in Maschine A zu initiieren, führen wir die folgende Befehlszeile aus:

geth --identity "MyNodeName" --rpc --rpcport "8545" --rpccorsdomain "*" 
--datadir Users/TestChain --port "30303" --rpcaddr 
"x.y.z.w"  --nodiscover --rpcapi "db,eth,net,web3,personal" --
networkid 123 init /Users/CustomGenesis.json

Die zweite Zeile wird sein:

geth --identity "MyNodeName" --rpc --rpcport "8545" --rpccorsdomain "*" 
--datadir Users/TestChain --port "30303" --nodiscover --rpcaddr 
"x.y.z.w"    --rpcapi "db,eth,net,web3,personal" --networkid 123 
console

Achten Sie bitte auf

--rpcaddr "x.y.z.w"

Bitte beachten Sie, dass Maschine A Hamachi unabhängig installieren, ihre IP erhalten und die obigen Zeilen ausführen kann, ohne etwas über andere Maschinen zu wissen.

In der Praxis ist „xyzw“ eine von Hamachi bereitgestellte IP-Adresse.

Schließlich richten wir auf jeder Maschine, die bereit ist, sich über Metamask mit Maschine A zu verbinden, einen "Custome RPC" ein und legen Folgendes als neue RPC-URL fest:

http://x.y.z.w:8545

Beachten Sie, dass "Custome RPC" eine Option in Metamask ist, mit der wir unsere Netzwerkdetails bereitstellen können.

Das ist es. Jetzt können sie mit einer minimalen Einstellung mit Maschine A interagieren, und die anderen Knoten müssen nicht einmal "geth" usw. installieren oder ausführen.


Ich habe die obige Idee getestet: Ich habe eine private Kette auf einem Macbook Pro betrieben und mich mit einem Windows Vista-Laptop damit verbunden. Sie waren mit zwei verschiedenen WLAN-Netzwerken verbunden.

Großartig :), die Notwendigkeit besteht darin, eine ordnungsgemäße Netzwerkverbindung zwischen den beiden Computern zu haben und Computer, die über die IP-Adressen kommunizieren können (Sie erhalten dies in einem Heim-WLAN innerhalb des NAT mit privaten IPs), und Sie haben es mit Hamachi erreicht . Viel Erfolg mit deinen Werken :)