From 2bbb278a68c1ca084f20fe059ad4a57804d328e6 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Fri, 21 Jul 2023 20:36:59 +0200 Subject: [PATCH] libp2p: stop reporting ProtocolVersion --- core/commands/id.go | 17 +++++------------ core/commands/swarm.go | 5 ----- docs/changelogs/v0.22.md | 12 ++++++++++++ test/cli/swarm_test.go | 14 +++++--------- 4 files changed, 22 insertions(+), 26 deletions(-) diff --git a/core/commands/id.go b/core/commands/id.go index ba40a699d7ce..3446fc267cd6 100644 --- a/core/commands/id.go +++ b/core/commands/id.go @@ -26,12 +26,11 @@ import ( const offlineIDErrorMessage = "'ipfs id' cannot query information on remote peers without a running daemon; if you only want to convert --peerid-base, pass --offline option" type IdOutput struct { // nolint - ID string - PublicKey string - Addresses []string - AgentVersion string - ProtocolVersion string - Protocols []protocol.ID + ID string + PublicKey string + Addresses []string + AgentVersion string + Protocols []protocol.ID } const ( @@ -126,7 +125,6 @@ EXAMPLE: output := format output = strings.Replace(output, "", out.ID, -1) output = strings.Replace(output, "", out.AgentVersion, -1) - output = strings.Replace(output, "", out.ProtocolVersion, -1) output = strings.Replace(output, "", out.PublicKey, -1) output = strings.Replace(output, "", strings.Join(out.Addresses, "\n"), -1) output = strings.Replace(output, "", strings.Join(protocol.ConvertToStrings(out.Protocols), "\n"), -1) @@ -178,11 +176,6 @@ func printPeer(keyEnc ke.KeyEncoder, ps pstore.Peerstore, p peer.ID) (interface{ info.Protocols = append(info.Protocols, protocols...) sort.Slice(info.Protocols, func(i, j int) bool { return info.Protocols[i] < info.Protocols[j] }) - if v, err := ps.Get(p, "ProtocolVersion"); err == nil { - if vs, ok := v.(string); ok { - info.ProtocolVersion = vs - } - } if v, err := ps.Get(p, "AgentVersion"); err == nil { if vs, ok := v.(string); ok { info.AgentVersion = vs diff --git a/core/commands/swarm.go b/core/commands/swarm.go index 3d2adb7575d7..0e28c71754c5 100644 --- a/core/commands/swarm.go +++ b/core/commands/swarm.go @@ -490,11 +490,6 @@ func (ci *connInfo) identifyPeer(ps pstore.Peerstore, p peer.ID) (IdOutput, erro sort.Slice(info.Protocols, func(i, j int) bool { return info.Protocols[i] < info.Protocols[j] }) } - if v, err := ps.Get(p, "ProtocolVersion"); err == nil { - if vs, ok := v.(string); ok { - info.ProtocolVersion = vs - } - } if v, err := ps.Get(p, "AgentVersion"); err == nil { if vs, ok := v.(string); ok { info.AgentVersion = vs diff --git a/docs/changelogs/v0.22.md b/docs/changelogs/v0.22.md index 633741c8810e..2a4a424cd26b 100644 --- a/docs/changelogs/v0.22.md +++ b/docs/changelogs/v0.22.md @@ -7,6 +7,7 @@ - [Overview](#overview) - [๐Ÿ”ฆ Highlights](#-highlights) - [`ipfs name publish` now supports V2 only IPNS records](#ipfs-name-publish-now-supports-v2-only-ipns-records) + - [go-libp2p v0.29.0 update](#go-libp2p-v0.29.0-update) - [๐Ÿ“ Changelog](#-changelog) - [๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Contributors](#-contributors) @@ -23,6 +24,17 @@ to V2 only in the future. **TODO**: add links to IPIP https://github.com/ipfs/specs/issues/376 +# go-libp2p v0.29.0 update + +We updated from [go-libp2p](https://github.com/libp2p/go-libp2p) [v0.27.7](https://github.com/libp2p/go-libp2p/releases/tag/v0.27.7) to [v0.29.0](https://github.com/libp2p/go-libp2p/releases/tag/v0.29.0). + +The main intresting new feature is smart dialling, this is a prioritisation algorithm that will try to rank addresses and protocols. +So when we are contacting one peer we aren't firing ~4 connections at attempts in parallel anymore. + +This includes a breaking change to `ipfs id` and some of the `ipfs swarm` commands, we do not report `ProtocolVersion` anymore. + +This used to be harcoded `ipfs/0.1.0` and sent to other peers but never did anything intresting. + ### ๐Ÿ“ Changelog ### ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Contributors diff --git a/test/cli/swarm_test.go b/test/cli/swarm_test.go index d1a4b5c6ca32..920d310baa22 100644 --- a/test/cli/swarm_test.go +++ b/test/cli/swarm_test.go @@ -13,12 +13,11 @@ import ( // TODO: Migrate the rest of the sharness swarm test. func TestSwarm(t *testing.T) { type identifyType struct { - ID string - PublicKey string - Addresses []string - AgentVersion string - ProtocolVersion string - Protocols []string + ID string + PublicKey string + Addresses []string + AgentVersion string + Protocols []string } type peer struct { Identify identifyType @@ -53,7 +52,6 @@ func TestSwarm(t *testing.T) { actualPublicKey := output.Peers[0].Identify.PublicKey actualAgentVersion := output.Peers[0].Identify.AgentVersion actualAdresses := output.Peers[0].Identify.Addresses - actualProtocolVersion := output.Peers[0].Identify.ProtocolVersion actualProtocols := output.Peers[0].Identify.Protocols expectedID := otherNode.PeerID().String() @@ -62,7 +60,6 @@ func TestSwarm(t *testing.T) { assert.Equal(t, actualID, expectedID) assert.NotNil(t, actualPublicKey) assert.NotNil(t, actualAgentVersion) - assert.NotNil(t, actualProtocolVersion) assert.Len(t, actualAdresses, 1) assert.Equal(t, expectedAddresses[0], actualAdresses[0]) assert.Greater(t, len(actualProtocols), 0) @@ -89,7 +86,6 @@ func TestSwarm(t *testing.T) { assert.Equal(t, outputIdentify.ID, otherNodeIDOutput.ID) assert.Equal(t, outputIdentify.PublicKey, otherNodeIDOutput.PublicKey) assert.Equal(t, outputIdentify.AgentVersion, otherNodeIDOutput.AgentVersion) - assert.Equal(t, outputIdentify.ProtocolVersion, otherNodeIDOutput.ProtocolVersion) assert.ElementsMatch(t, outputIdentify.Addresses, otherNodeIDOutput.Addresses) assert.ElementsMatch(t, outputIdentify.Protocols, otherNodeIDOutput.Protocols)