Struct libp2p_core::PeerId [−][src]
Identifier of a peer of the network.
The data is a multihash of the public key of the peer.
Implementations
impl PeerId
[src][−]
pub fn from_public_key(key: PublicKey) -> PeerId
[src][−]
Builds a PeerId
from a public key.
pub fn from_bytes(data: &[u8]) -> Result<PeerId, Error>
[src][−]
Parses a PeerId
from bytes.
pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash>
[src][−]
Tries to turn a Multihash
into a PeerId
.
If the multihash does not use a valid hashing algorithm for peer IDs,
or the hash value does not satisfy the constraints for a hashed
peer ID, it is returned as an Err
.
pub fn random() -> PeerId
[src][−]
Generates a random peer ID from a cryptographically secure PRNG.
This is useful for randomly walking on a DHT, or for testing purposes.
pub fn to_bytes(&self) -> Vec<u8>
[src][−]
Returns a raw bytes representation of this PeerId
.
pub fn to_base58(&self) -> String
[src][−]
Returns a base-58 encoded string of this PeerId
.
pub fn is_public_key(&self, public_key: &PublicKey) -> Option<bool>
[src][−]
Checks whether the public key passed as parameter matches the public key of this PeerId
.
Returns None
if this PeerId
s hash algorithm is not supported when encoding the
given public key, otherwise Some
boolean as the result of an equality check.
Trait Implementations
impl AsRef<Multihash<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>>> for PeerId
[src][+]
impl Clone for PeerId
[src][+]
impl Copy for PeerId
[src]
impl Debug for PeerId
[src][+]
impl Display for PeerId
[src][+]
impl Eq for PeerId
[src]
impl From<PeerId> for Multihash
[src][+]
impl From<PeerId> for Vec<u8>
[src][+]
impl From<PublicKey> for PeerId
[src][+]
impl FromStr for PeerId
[src][+]
impl Hash for PeerId
[src][+]
impl Ord for PeerId
[src][+]
impl PartialEq<PeerId> for PeerId
[src][+]
impl PartialOrd<PeerId> for PeerId
[src][+]
impl StructuralEq for PeerId
[src]
impl StructuralPartialEq for PeerId
[src]
impl TryFrom<Multihash<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>>> for PeerId
[src][+]
impl TryFrom<Vec<u8, Global>> for PeerId
[src][+]
Auto Trait Implementations
impl RefUnwindSafe for PeerId
impl Send for PeerId
impl Sync for PeerId
impl Unpin for PeerId
impl UnwindSafe for PeerId
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,