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
{{ message }}
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
Not all the nodes that are connected to use are actually being used for Substrate-related reasons. For example, even when all our slots are occupied, we still accept incoming connections and start outgoing connections for discovery-related purposes.
Consequently, "connected to a node" doesn't necessarily mean "let's start talking about blockchains". There needs to be a signal beforehand that indicates that we should talk blockchains. That signal, right now, is the fact that we open a substream with the /substrate/sub/0 protocol.
When that signal is received (ie. the new substream), the API of network-libp2p reports that we have established a link with another node. Then only the sync layer sends a "status" packet on that substream to indicate to the remote our status.
It would be better if that "link established handshake" was the status packet itself. In other words, the "status" packet would be seen by the low-level protocol, and it is only when we receive a "status" packet that we report in the API that a link has been established.
cc #1692
Will write better description, or ping me if I forget.
The text was updated successfully, but these errors were encountered: