Für die Verwendung von web3.js ist es notwendig, geth in Ihrem System zu installieren

für die Verwendung von web3.js ist es notwendig, geth in Ihrem System zu installieren oder es verbindet sich automatisch mit geth oder ethereum blockchain?

var web3 = new Web3(new Web3.providers.HttpProvider(' http://localhost:8545 '))

Hier verbinden wir etwas. In diesem Befehl verbinden wir uns mit was? Verbinden wir uns mit der öffentlichen Kette von Ethereum oder etwas anderem?

Antworten (3)

Nein, ist es nicht. Sie können web3 zB mit testrpc testen , das auch auf Port 8545 läuft, damit Sie sich auf die gleiche Weise mit ihm verbinden können. Es macht das Testen viel schneller, leichter und billiger (kein echtes Geld für Benzin). Wenn Sie mit einer öffentlichen Blockchain (Hauptkette oder Testnet) arbeiten möchten, können Sie Infura in Betracht ziehen - aber hüten Sie sich vor einer Zentralisierung, die Sie möglicherweise nicht möchten!

web3.jshat keinen direkten Zugriff auf die Blockchain, es hängt immer von einem Client ab, der eine Schnittstelle zum Ethereum-Netzwerk herstellt. gethist eine von vielen Möglichkeiten.

Verbinden

Wenn Sie web3.js ausführen, sind hier einige Optionen für die Verbindung:

  1. Mist-Browser : Ein web3Objekt ist bereits eingebaut und verbunden! (Mist betreibt einen Client für Sie unter der Haube)
  2. Normale Webbrowser: Verwenden Sie die Metamask- Erweiterung, um ein web3Objekt zu patchen. Metamask wählt aus, mit welchem ​​Client eine Verbindung hergestellt wird.
  3. Lokale Verwendung: Verbinden Sie sich mit einem lokalen Client, den Sie ausführen, indem Sie anrufenweb3.setProvider()

Client-Optionen

gethist eine von vielen Optionen für lokale Kunden. Einige andere sind Parity und cpp-ethereum . Remote gehostete Knoten wie Infura bieten zu einem gewissen Preis Zugriff auf Datenschutz und Kontrolle. Ich habe nicht viel davon gesehen, aber EthereumJ könnte auch von Interesse sein. Holen Sie sich etwas mehr Hintergrund und sehen Sie sich mehr esoterische Kunden auf ethdocs an .

NEIN, Web3ist ein Konnektor zwischen Ihrer Anwendung und dem Ethereum-Client. Sie können ganache-clioder gethals Testclient in localhost ausführen oder Ihre App mit einem Online-Knoten verbinden , z. B. infuramit web3.

In Ihrem Beispielcode hört es auf den lokalen Client, der auf port ausgeführt wird 8545. Es kann sich ganacheum ein Testnetzwerk oder einen gethClient handeln.