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
The identify protocol provides as response a listen_addresses field.
The remote peer uses this field to insert self reported addresses into the Kademlia DHT.
This might be one of the reasons why we've seen low connectivity with peers over the long term (~90 days).
The Identify protocol can be extended to receive verified addresses for healthier listen addresses.
For the Substrate perspective, when we deem a "remote address" as valid (after 2 encounters), that address needs to be reported back to the Identify protocol.
Libp2p already has a similar mechanism of discovery via the ExternalAddressDiscovered and confirming addresses.
The content you are editing has changed. Please copy your edits and refresh the page.
Yeah, it shouldn't be like this. With libp2p backend Identify "listen addresses" field actually contains discovered external addresses, no matter when they were discovered.
The identify protocol provides as response a
listen_addresses
field.The remote peer uses this field to insert self reported addresses into the Kademlia DHT.
Substrate makes use of the listen addresses here.
The problem is that the identify protocol starts with a static set of addresses, which may expire or become invalid:
litep2p/src/protocol/libp2p/identify.rs
Lines 272 to 276 in 2d1a4b4
This might be one of the reasons why we've seen low connectivity with peers over the long term (~90 days).
The Identify protocol can be extended to receive verified addresses for healthier listen addresses.
For the Substrate perspective, when we deem a "remote address" as valid (after 2 encounters), that address needs to be reported back to the Identify protocol.
Libp2p already has a similar mechanism of discovery via the
ExternalAddressDiscovered
and confirming addresses.Tasks
PublicAddresses
#212The text was updated successfully, but these errors were encountered: