Post
Topic
Board Development & Technical Discussion
Merits 4 from 1 user
Re: How is bitcoind “shy” when exchanging `version` packets?
by
theymos
on 10/10/2018, 23:26:43 UTC
⭐ Merited by Foxpup (4)
If you initiate the connection, then you send a version right away, and so when you receive a version in return, you don't want to send another one. If the peer initiates the connection, then you ignore them until you receive a version, and when you do, you then need to respond with a version of your own. That's what that if statement is about.

Very old versions would immediately send a version as soon as the TCP connection was opened, regardless of whether it was incoming or outgoing. The comment is maybe a little confusing because it's sort-of talking about changing this ancient behavior.