diff --git a/p2p/protocol/identify/id.go b/p2p/protocol/identify/id.go index 39f49f6146263b7cc6e4ca6b6a2526d98dcde894..1af0a38c16045cfeaec88de260f7f1de3c34d59a 100644 --- a/p2p/protocol/identify/id.go +++ b/p2p/protocol/identify/id.go @@ -164,6 +164,17 @@ func (ids *IDService) populateMessage(mes *pb.Identify, c inet.Conn) { } log.Debugf("%s sent listen addrs to %s: %s", c.LocalPeer(), c.RemotePeer(), laddrs) + ownKey := ids.Host.Peerstore().PubKey(ids.Host.ID()) + if ownKey == nil { + log.Errorf("did not have own public key in Peerstore") + } else { + if kb, err := ownKey.Bytes(); err != nil { + log.Errorf("failed to convert key to bytes") + } else { + mes.PublicKey = kb + } + } + // set protocol versions pv := LibP2PVersion av := ClientVersion