-
Notifications
You must be signed in to change notification settings - Fork 504
chore: remove peer info usage #610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
95a79e8 to
b283126
Compare
|
|
||
| ### addresses | ||
|
|
||
| TODO with `address-manager`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will come in a follow up PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1a344be to
1e42f42
Compare
BREAKING CHANGE: all API methods with peer-info parameters or return values were changed. You can check the API.md document, in order to check the new values to use
1e42f42 to
ab20987
Compare
jacobheun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks good! Most of my comments are things to think about and would likely be best suited for subsequent PRs if we choose to do them.
| | [`PeerInfo`][peer-info] | Peer information of the provided peer | | ||
|
|
||
| TODO: change when `peer-info` is deprecated to new pointer | ||
| | `{ id: PeerId, multiaddrInfos: Array<MultiaddrInfo>, protocols: Array<string> }` | Peer information of the provided peer | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a naming thought that occurred, should we just start referring to MultiaddrInfo as Address? The idea being, we have an AddressBook, it makes sense for it to store addresses (addrs). An Address includes a Multiaddr (describing the network location of a peer) along with other metadata (TTL, confidence, origin, etc).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, I was not totally happy with the MultiaddrInfo naming. we are already using that naming in the dht already, but I will do a follow up PR here and in the DHT to move into Address
src/get-peer-id.js
Outdated
| } | ||
|
|
||
| if (addr && peerStore) { | ||
| peerStore.addressBook.add(peer, [addr]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we're redoing this function it might be a good time to remove the update from it as it's a bit error prone (doing a get that includes a write). Perhaps this should be getPeer and we return { id, multiaddrs }? Then the calling function can choose whether or not it wants to store the address.
| discoveryService = new DiscoveryService(Object.assign({}, config, { peerInfo: this.peerInfo, libp2p: this })) | ||
| discoveryService = new DiscoveryService(Object.assign({}, config, { | ||
| peerId: this.peerId, | ||
| multiaddrs: this.addresses.listen, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When we have an AddressManager the discovery service should just use that from libp2p.addressManager. While they don't right now, in the future our announce addresses will be able to change over time (AutoNat, AutoRelay, etc) and we should be sharing the most recent ones via the discovery services.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will include in #612 to remove this
Co-Authored-By: Jacob Heun <[email protected]>
9329189 to
894cb69
Compare
jacobheun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
In the context of deprecating
peer-infoas described on libp2p/js-libp2p#589, this PR removes thepeer-infousage on the API, internal code usage and tests. Moreover, all the modules were updated for the new versions also without usingpeer-infoand the docs were also updated!It is important point out that with these modifications:
{ addresses: { listen } }in the context of Add support for Addrs {listen, announce, noAnnounce} #202 and feat: address management #612 adds a AddressManager component with support for announce and noAnnounce, as well as docs for usage.BREAKING CHANGE: all API methods with peer-info parameters or return values were changed. You can check the API.md document, in order to check the new values to use