extract_peer_id_from_multiaddr

Function extract_peer_id_from_multiaddr 

Source
pub fn extract_peer_id_from_multiaddr(multiaddr: &str) -> Option<String>
Expand description

Extract the peer ID from a libp2p multiaddress string. Example: “/ip4/127.0.0.1/tcp/4001/p2p/QmPeerId” -> “QmPeerId”

§Examples

use chie_shared::extract_peer_id_from_multiaddr;

// Extract peer ID from multiaddr with p2p protocol
let addr = "/ip4/127.0.0.1/tcp/4001/p2p/QmPeerId123";
assert_eq!(
    extract_peer_id_from_multiaddr(addr),
    Some("QmPeerId123".to_string())
);

// Extract peer ID from multiaddr with ipfs protocol
let addr = "/ip4/192.168.1.1/tcp/4001/ipfs/12D3KooTest";
assert_eq!(
    extract_peer_id_from_multiaddr(addr),
    Some("12D3KooTest".to_string())
);

// No peer ID in multiaddr
let addr = "/ip4/127.0.0.1/tcp/4001";
assert_eq!(extract_peer_id_from_multiaddr(addr), None);