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
defines Envelope and PeerRecord types and signing / marshaling logic
adds a CertifiedAddrBook interface to add addresses from PeerRecords to the Peerstore
adds two new event types:
EvtLocalAddressesUpdated is sent when our listen addresses change. Includes a snapshot of current listen addrs, and may also have diffs against the previous state.
EvtLocalPeerRecordUpdated is sent when we have a new signed PeerRecord to distribute to other peers.
updates the IDService to exchange signed PeerRecords during the identify protocol, and add records for remote peers to the peerstore
changes the way identify/push is triggered by getting the event bus into the mix:
updates BasicHost to emit EvtLocalAddressesUpdated events when it detects a change in listen addresses instead of directly triggering an identify/push
adds a peerRecordManager component to the IDService, which listens for EvtLocalAddressesUpdated and creates new signed PeerRecords, which it sends out on the event bus in an EvtLocalPeerRecordUpdated
updates the IDService to listen for EvtLocalPeerRecordUpdated and trigger an identify/push update
These should be merged in order, and we should tag new releases and update the dependencies in the peerstore and go-libp2p PRs to stop pointing at specific branch commits. So the merge strategy is:
This is a meta-issue to track the progress of implementing the signed Peer Records proposed in libp2p/specs#217 and #761
Core implementation
The basic functionality is currently spread through three open PRs in various repos:
Signed envelopes & routing records go-libp2p-core#73
Envelope
andPeerRecord
types and signing / marshaling logicCertifiedAddrBook
interface to add addresses fromPeerRecord
s to thePeerstore
EvtLocalAddressesUpdated
is sent when our listen addresses change. Includes a snapshot of current listen addrs, and may also have diffs against the previous state.EvtLocalPeerRecordUpdated
is sent when we have a new signedPeerRecord
to distribute to other peers.Certified addresses go-libp2p-peerstore#98
CertifiedAddrBook
interface in the memory and datastoreAddrBook
sgo-libp2p exchange signed routing records in identify #747
IDService
to exchange signedPeerRecord
s during theidentify
protocol, and add records for remote peers to the peerstoreidentify/push
is triggered by getting the event bus into the mix:BasicHost
to emitEvtLocalAddressesUpdated
events when it detects a change in listen addresses instead of directly triggering anidentify/push
peerRecordManager
component to theIDService
, which listens forEvtLocalAddressesUpdated
and creates new signedPeerRecord
s, which it sends out on the event bus in anEvtLocalPeerRecordUpdated
IDService
to listen forEvtLocalPeerRecordUpdated
and trigger anidentify/push
updateThese should be merged in order, and we should tag new releases and update the dependencies in the peerstore and go-libp2p PRs to stop pointing at specific branch commits. So the merge strategy is:
Components that will use PeerRecords
Once the above PRs are landed, we can integrate signed
PeerRecord
s into various libp2p components:The text was updated successfully, but these errors were encountered: