Wofür wird "Ping"-RPC verwendet?

pinggibt nichts zurück, also wofür wird es verwendet?

Wenn ein Benutzer pingen und die Ping-Zeit für alle Peers überprüfen möchte, getpeerinfokann verwendet werden.

Ich denke, Ping ist ein grundlegendes Netzwerkdienstprogramm, von dem erwartet wird, dass es in jeder P2P-Software enthalten ist. getpeerinfo bietet zusätzliche Informationen, die Sie möglicherweise nicht interessieren, wenn Sie nur die Ping-Zeit betrachten.
Es hat keine Argumente, damit der Benutzer die Adresse eines Knotens zum Ping angeben kann, es gibt keine Details zurück, daher bin ich mir nicht sicher, warum jemand es verwenden sollte. Ich konnte diesen Kommentar von Greg Maxwell nicht verstehen . Wenn Bitcoin Core nicht alle paar Sekunden automatisch alle Peers pingt, gibt es vielleicht Anwendungsfälle für diesen RPC, sonst kann er nur für Spamming verwendet werden (vorausgesetzt, es gibt keine Ratenbegrenzungen).

Antworten (1)

Der Hilfetext ist dein Freund:

Requests that a ping be sent to all other nodes, to measure ping time.
Results provided in getpeerinfo, pingtime and pingwait fields are decimal seconds.
Ping command is handled in queue with all other commands, so it measures processing backlog, not just network ping

Nachdem Sie verwendet haben ping, sehen Sie möglicherweise ein neues Feld, pingwait, in der getpeerinfoAusgabe. Dies ist die Wartezeit für die Ping-Antwort. Sie werden auch sehen, pingtimedass Sie aktualisiert werden, sobald der Peer auf den Ping antwortet. Der Zweck besteht darin, eine Aktualisierung der Ping-Zeiten zu erhalten, da die gemeldete Ping-Zeit möglicherweise vor langer Zeit gemessen wurde.

getpeerinfofür einen Peer vor dem Ping: pastebin.com/s81cmpu7 getpeerinfo für denselben Peer nach ping: pastebin.com/6ZUgWTZ4pingwait Ich sehe es nicht . pingtimevon 0,077075 auf 0,077956 geändert, ändert sich aber auch ohne laufenden pingBefehl regelmäßig
pingwaitIch konnte heute in pastebin.com/vKi5sfK2 sehen