Ich betreibe einen Ethereum-Knoten mit Geth und er kann keine Peers finden. Ich habe bereits den im Wiki vorgeschlagenen Zeitsynchronisierungsbefehl ausprobiert . Meine Bandbreite ist gut.
Verwendet standardmäßig geth
Port 30303 für die Verbindung zu anderen Knoten. Möglicherweise müssen Sie Ihre Firewall ändern, um Datenverkehr über diesen Port zuzulassen.
Sie können die Anzahl Ihrer Peers überprüfen und eine Liste der Peers abrufen, wenn Sie mit der Javascript-Konsole verbunden sind ( geth attach
).
instance: Geth/v1.3.2/darwin/go1.5.1
datadir: /Users/home/Library/Ethereum
coinbase: 0xd3cda913deb6f67967b99d67acdfa1712c293601
at block: 864339 (Sun, 17 Jan 2016 16:00:07 MST)
modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
> net.peerCount
5
> admin.peers
[{
caps: ["eth/61", "eth/62"],
id: "03743aa20db17dc12d2e355f32b75964653408eaab2c6e0fad7b2600fef49b3c2ec938d436fc48e86582d732d8eb64935edddee7d5c9caf726261add05cf46fe",
name: "Geth/v1.2.2/linux/go1.5",
network: {
localAddress: "10.0.1.48:30303",
remoteAddress: "87.106.88.35:35646"
},
protocols: {
eth: {
difficulty: 2283869820384174300,
head: "d0d57a2f8fea1c834ce277d031727fecc1baf617b69e4d169f87f7e2d56f04c6",
version: 62
}
},
...
]
Wenn Sie einen gesunden Geth-Knoten haben, der woanders läuft, können Sie versuchen, Ihre Peer-Verbindung mit der admin.addPeer
Funktion zu booten. Die Funktion sollte mit einer Enode - Adresse im Format aufgerufen werden, in dem admin.addPeer("enode://<id>@<ip_address>:<port>")
die Werte ip_address
und port
aus dem remoteAddress
Teil der Peer-Informationen stammen und id
der große lange Hex-String unter dem id
Schlüssel für die Peer-Informationen ist. Für den obigen Peer wäre dies:
admin.addPeer("enode://03743aa20db17dc12d2e355f32b75964653408eaab2c6e0fad7b2600fef49b3c2ec938d436fc48e86582d732d8eb64935edddee7d5c9caf726261add05cf46fe@87.106.88.35:35646")
Dies kann nützlich sein, wenn Sie irgendwie die Verbindung zu all Ihren Peers durch einen nicht netzwerkbasierten Mechanismus verlieren. Das Fehlen von Peers ist jedoch wahrscheinlich ein Netzwerkproblem, und das manuelle Hinzufügen von Peers wird möglicherweise bestenfalls als Notlösung dienen.
Gut, dass Sie die Zeit überprüft haben, aber der häufigste Grund dafür, dass Peers nicht gefunden werden, ist die Firewall- und Netzwerkkonfiguration. Wenn eine Firewall ausgeführt wird, versuchen Sie, sie zu deaktivieren.
Ich verwende dieses Skript, wenn sich mein Knoten seltsam verhält ... offensichtlich müssen Sie es an Ihre Situation anpassen ...
#!/usr/bin/env bash
trap "exit" INT
LOCALIP=(192.168.10.11) (put your machines IP here)
IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
echo "Local IP: $LOCALIP"
echo "Public IP: $IP"
echo "Starting eth"
eth --bootstrap --peers 50 --remote 52.16.188.185:30303 --mining off --public-ip $IP --listen-ip $LOCALIP -- listen 30303
Warnung – dies ist nichts, was Sie als Standard verwenden sollten. Es wird die Internetbandbreite wie verrückt verbrauchen.
Akshatha_G