Instanziieren Sie web3, um mit dem echten Ethereum-Netzwerk zu arbeiten

Ich weiß, wie man web3 instanziiert, um mit einem lokalen Testnetzwerk zu arbeiten:

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

Wie ändere ich diesen Code, um eine Verbindung zum echten Netzwerk herzustellen?

Antworten (1)

So verbinden Sie sich mit web3 mit einem echten Netzwerk.

Der Unterschied besteht jedoch darin, dass Sie sich nicht mit einem testrpc- (oder Parity- oder Geth-) Knoten verbinden, der ein lokales, privates Netzwerk ausführt, das eine RPC-Schnittstelle offenlegt, sondern dass Sie sich stattdessen mit einem Client verbinden, der mit einem der Testnetzwerke (oder Mainnet) verbunden ist.

Wenn Sie HttpProvider verwenden, starten Sie einfach Ihren Client mit den erforderlichen JSON-RPC- Schnittstellen.

Die Dokumentation im Ethereum-Wiki gibt Ihnen Beispiele für eine Reihe verschiedener Clients.

Mein Code ist also bereit, gegen das echte Netzwerk zu arbeiten, obwohl die Adresse localhost:8545 ist ? Ich muss nichts ändern?
Richtig. Sie sollten jedoch überlegen, was passiert, wenn Ihr Benutzer keinen Knoten lokal ausführt und auf diese Weise eine RPC-Schnittstelle verfügbar macht, z. B. wenn er Ihre Dapp über einen Browser mit MetaMask betrachtet. Das übliche Fallback-Muster ist dieses .