Wie verbinde ich web3js mit Mainnet oder Testnet?

Es könnte eine sehr grundlegende Frage sein. Aber hier ist, was ich erreichen möchte:

Ich möchte eine Web-App erstellen, die mit einem Vertrag im Testnet/Mainnet interagiert. Ich kann in der Dokumentation sehen, dass Sie web3js den lokalen Port bereitstellen müssen, um eine Verbindung zu einer lokal ausgeführten Ethereum-Instanz/Simulation herzustellen:

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));

Aber ich möchte es mit dem Testnet oder Mainnet verbinden. Ist es möglich, dies zu tun, ohne tatsächlich einen echten Knoten (Test oder Main) zu hosten?

Und wenn die einzige Möglichkeit, dies zu tun, darin besteht, einen tatsächlichen Knoten auf einem lokalen Computer auszuführen, wie kann man sich dann am besten mit web3 verbinden? Ich habe irgendwo gelesen, dass RPC nicht so sicher ist.

Bitte führen Sie mich zu diesen Noobie-Fragen.

Vielen Dank im Voraus!

Antworten (1)

web3js stellt eine Verbindung zu Ihrem lokalen oder entfernten Ethereum-Knoten her (es ist offensichtlich, während Sie Ihr Konto zum Senden von Transaktionen benötigen). Um also das Mainnet oder Testnet zu verwenden, konfigurieren Sie Ihren Ethereum-Client so, z geth --testnet.

Bezüglich der Sicherheit: Sie müssen Ihren Knoten vor eingehenden Verbindungen zum RPC-Port schützen, indem Sie Ihre Firewall so konfigurieren, dass nur Verbindungen zugelassen werden, die vom lokalen Computer oder von IPs auf der weißen Liste stammen .

lesen Sie: https://blog.ethereum.org/2015/08/29/security-alert-insecurely-configured-geth-can-make-funds-remotely-accessible/

Lädt die Konfiguration von Ethereum mit geth --testnetDownloads die komplette Blockchain auf den lokalen Rechner herunter?
Ja, das tut es, machen Sie sich keine Sorgen über die Größe, da es gerade erst gestartet wurde, und aktualisieren Sie den Client.