Portnummer für die Verbindung von web3 mit Mainnet über Geth

Ich versuche, das web3j-Objekt mit geth mit dem Mainnet zu verbinden. Ich kann Infura nicht verwenden, da ich mit der Funktion Replay Transaction Observable arbeite, die mit Infura nicht funktioniert. Um uns mit dem Testnetz zu verbinden, verwenden wir Port 8545, welche Portnummer sollten wir verwenden, um uns mit dem Hauptnetz zu verbinden . Ist es auch notwendig, dass die gesamte Blockchain synchronisiert werden darf, bevor ich anfange, das Mainnet zu verwenden?

Antworten (1)

Sie können gethmit jedem beliebigen Port laufen und sich mit web3jdiesem Port verbinden. Das Netzwerk geth, mit dem eine Verbindung hergestellt wird, wird nicht durch den Port definiert, für den es verfügbar gemacht wird rpcapi:

https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options

API AND CONSOLE OPTIONS:
  --rpc                  Enable the HTTP-RPC server
  --rpcaddr value        HTTP-RPC server listening interface (default: "localhost")
  --rpcport value        HTTP-RPC server listening port (default: 8545)

gethSie können also denselben 8545 wie für Mainnet verwenden oder, wenn Sie möchten, Ihre eigene interne Konvention festlegen und immer mit einem anderen Port ausführen , z. B. 8747, wenn Sie sich mit Testnet verbinden.

Ist eine vollständige Synchronisierung erforderlich, bevor der Code ausgeführt wird?
Hängt von deinem Code ab. Wenn Sie "den Code bereitstellen" meinen, hilft AFAIK die Synchronisierung mit zumindest --syncmode=fastdabei, den Prozess zu beschleunigen und zuverlässiger zu machen, --syncmode=lightreicht aber auch aus.
Nein, ich möchte nur eine Replay-Transaktionsfunktion verwenden, die den Transaktionsverlauf zwischen 2 Blöcken wiedergibt.
Ich glaube, es ist immer noch ein Ja. Ich habe synchronisiert, bevor Ereignisse für mich funktionierten. Überprüfen Sie die verwandte Frage: ethereum.stackexchange.com/q/29681/11501