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
Hi! Does smoldot discover peers in the network beyond the boot nodes? I quickly tried logging the network_service state (discovered_nodes and peers_list) in various places in light-base/src/sync_service.rs to see what peers the client had discovered, but all I can see are only the boot nodes the chain had been configured with through the specs, even though I know there are more nodes connected to this network.
Is this expected or it's just me not logging correct things?
Ok, so other peers do get discovered, they are just rejected due to unsupported addresses. What I don't understand now is why it happens in the first place - all fail to get their multiaddr transformed to an address due to UnknownCombination, but the peers' addresses look fine to me:
The multiaddresses are not supposed to have /p2p/ at the end. The PeerId is conveyed separately through the Kademlia message and isn't part of the multiaddress.
The only place where a multiaddress should ever have /p2p/ is for things like CLI parameters, and it should be seen more as a multiaddress and peer ID combined into one string.
Afair, the p2p protocol is considered to be a valid part of a multiaddress, at least according to the libp2p definition
The definition doesn't say which multiaddresses are valid or not. It doesn't forbid non-sensical multiaddresses such as /ws/ws/ws/tcp. In our case, multiaddresses that end with /p2p/ are not valid.
If such a multiaddress is sent by a Substrate/Polkadot node (they changed their libp2p implementation not so long ago), then it is a bug in Substrate/Polkadot.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Hi! Does smoldot discover peers in the network beyond the boot nodes? I quickly tried logging the
network_servicestate (discovered_nodesandpeers_list) in various places inlight-base/src/sync_service.rsto see what peers the client had discovered, but all I can see are only the boot nodes the chain had been configured with through the specs, even though I know there are more nodes connected to this network.Is this expected or it's just me not logging correct things?
All reactions