Identify sends multiple messages
Author: achingbrainCreated Apr 2, 2026Updated Apr 22, 2026
The identify spec says:
The protocol works by opening a stream to the remote peer you want to query, using /ipfs/id/1.0.0 as the protocol id string. The peer being identified responds by returning an Identify message and closes the stream.
go-libp2p's writeChunkedIdentifyMsg does not do this.
Instead it checks the size of the outgoing message, if it's bigger than legacyIDSize, it sends the message twice - once without the signed peer record and once with just that field in the protobuf.
This is not in the spec. Will go-libp2p be patched to be spec compliant or does the spec need updating?
Source: libp2p/go-libp2p