@@ -8,7 +8,9 @@ use libp2p::{
8
8
kad:: { Kademlia , KademliaConfig } ,
9
9
multiaddr:: Protocol ,
10
10
ping, relay,
11
- swarm:: { keep_alive, AddressScore , NetworkBehaviour , Swarm , SwarmBuilder , SwarmEvent } ,
11
+ swarm:: {
12
+ keep_alive, AddressRecord , AddressScore , NetworkBehaviour , Swarm , SwarmBuilder , SwarmEvent ,
13
+ } ,
12
14
Multiaddr , PeerId , Transport ,
13
15
} ;
14
16
use libp2p_webrtc as webrtc;
@@ -70,7 +72,8 @@ async fn main() -> Result<()> {
70
72
futures:: future:: Either :: Left ( ( event, _) ) => match event. unwrap ( ) {
71
73
SwarmEvent :: NewListenAddr { address, .. } => {
72
74
let p2p_address = address. with ( Protocol :: P2p ( ( * swarm. local_peer_id ( ) ) . into ( ) ) ) ;
73
- info ! ( "Listen p2p address: {p2p_address:?}" )
75
+ info ! ( "Listen p2p address: {p2p_address:?}" ) ;
76
+ swarm. add_external_address ( p2p_address, AddressScore :: Infinite ) ;
74
77
}
75
78
SwarmEvent :: ConnectionEstablished { peer_id, .. } => {
76
79
info ! ( "Connected to {peer_id}" ) ;
@@ -109,6 +112,11 @@ async fn main() -> Result<()> {
109
112
futures:: future:: Either :: Right ( _) => {
110
113
tick = futures_timer:: Delay :: new ( TICK_INTERVAL ) ;
111
114
115
+ info ! (
116
+ "external addrs: {:?}" ,
117
+ swarm. external_addresses( ) . collect:: <Vec <& AddressRecord >>( )
118
+ ) ;
119
+
112
120
let message = format ! ( "Hello world! Sent at: {:4}s" , now. elapsed( ) . as_secs_f64( ) ) ;
113
121
114
122
if let Err ( err) = swarm. behaviour_mut ( ) . gossipsub . publish (
0 commit comments