# Connecting Peers
First things first, let's join the Lightning Network! Connections to other peers
are established with PeerManager
. You'll need to know the pubkey and address
of another node that you want as a peer. Once the connection is established and
the handshake is complete, PeerManager
will show the peer's pubkey in its list
of peers.
- Rust
- Java
match lightning_net_tokio::connect_outbound(Arc::clone(&peer_manager), pubkey, address).await { Some(connection_closed_future) => { let mut connection_closed_future = Box::pin(connection_closed_future); loop { // Make sure the connection is still established. match futures::poll!(&mut connection_closed_future) { std::task::Poll::Ready(_) => { panic!("ERROR: Peer disconnected before handshake completed"); } std::task::Poll::Pending => {} } // Wait for the handshake to complete. match peer_manager.get_peer_node_ids().iter().find(|id| **id == pubkey) { Some(_) => break, None => tokio::time::sleep(std::time::Duration::from_millis(10)).await, } } } None => panic!("ERROR: Failed to connect to peer"), }
Copied!