You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From my experiments with Satoshi:0.15.0.1, calling getaddr() immediately after handshake() always returns only the single node you are connected to. This is because the handshake causes the remote node to send an "addr" message containing just information about itself, which is then retrieved by getaddr() instead of the actual response to the "getaddr" message that it sends. To demonstrate this, call handshake() and then get_messages().
Hence the first "addr" message received after the handshake should be discarded to ensure you're using the actual response to "getaddr" for the list of nodes.
The text was updated successfully, but these errors were encountered:
I think the real problem is that Connection.getaddr() only waits one second between sending "getaddr" and checking for "addr" responses. In reality it seems to take longer (sometimes up to a minute) for the full response to "getaddr" to come back. I'm not sure if it's viable for the crawler to wait that long for the response.
From my experiments with Satoshi:0.15.0.1, calling getaddr() immediately after handshake() always returns only the single node you are connected to. This is because the handshake causes the remote node to send an "addr" message containing just information about itself, which is then retrieved by getaddr() instead of the actual response to the "getaddr" message that it sends. To demonstrate this, call handshake() and then get_messages().
Hence the first "addr" message received after the handshake should be discarded to ensure you're using the actual response to "getaddr" for the list of nodes.
The text was updated successfully, but these errors were encountered: