[−]Struct sc_network::PeerId
Identifier of a peer of the network.
The data is a multihash of the public key of the peer.
Implementations
impl PeerId
pub fn from_public_key(key: PublicKey) -> PeerId
Builds a PeerId
from a public key.
pub fn from_bytes(data: Vec<u8>) -> Result<PeerId, Vec<u8>>
Checks whether data
is a valid PeerId
. If so, returns the PeerId
. If not, returns
back the data as an error.
pub fn from_multihash(
data: MultihashGeneric<Code>
) -> Result<PeerId, MultihashGeneric<Code>>
data: MultihashGeneric<Code>
) -> Result<PeerId, MultihashGeneric<Code>>
Turns a Multihash
into a PeerId
. If the multihash doesn't use the correct algorithm,
returns back the data as an error.
pub fn random() -> PeerId
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 into_bytes(self) -> Vec<u8>
Returns a raw bytes representation of this PeerId
.
NOTE: This byte representation is not necessarily consistent with
equality of peer IDs. That is, two peer IDs may be considered equal
while having a different byte representation as per into_bytes
.
pub fn as_bytes(&self) -> &[u8]
Returns a raw bytes representation of this PeerId
.
NOTE: This byte representation is not necessarily consistent with
equality of peer IDs. That is, two peer IDs may be considered equal
while having a different byte representation as per as_bytes
.
pub fn to_base58(&self) -> String
Returns a base-58 encoded string of this PeerId
.
pub fn is_public_key(&self, public_key: &PublicKey) -> Option<bool>
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<[u8]> for PeerId
NOTE: This byte representation is not necessarily consistent with
equality of peer IDs. That is, two peer IDs may be considered equal
while having a different byte representation as per AsRef<[u8]>
.
impl Borrow<[u8]> for PeerId
impl Clone for PeerId
fn clone(&self) -> PeerId
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl ConnectionInfo for PeerId
impl Debug for PeerId
impl Display for PeerId
impl Eq for PeerId
impl From<PeerId> for MultihashGeneric<Code>
fn from(peer_id: PeerId) -> MultihashGeneric<Code>
impl From<PublicKey> for PeerId
impl FromStr for PeerId
type Err = ParseError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<PeerId, <PeerId as FromStr>::Err>
impl Hash for PeerId
fn hash<H>(&self, state: &mut H) where
H: Hasher,
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for PeerId
fn cmp(&self, other: &PeerId) -> Ordering
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<PeerId> for PeerId
impl PartialOrd<PeerId> for PeerId
fn partial_cmp(&self, other: &PeerId) -> Option<Ordering>
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for PeerId
impl TryFrom<MultihashGeneric<Code>> for PeerId
type Error = MultihashGeneric<Code>
The type returned in the event of a conversion error.
fn try_from(
value: MultihashGeneric<Code>
) -> Result<PeerId, <PeerId as TryFrom<MultihashGeneric<Code>>>::Error>
value: MultihashGeneric<Code>
) -> Result<PeerId, <PeerId as TryFrom<MultihashGeneric<Code>>>::Error>
impl TryFrom<Vec<u8>> for PeerId
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, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
fn as_byte_slice(&self) -> &[u8]
impl<U> AsSliceOf for U where
U: AsRef<[u8]> + ?Sized,
U: AsRef<[u8]> + ?Sized,
fn as_slice_of<T>(&self) -> Result<&[T], Error> where
T: FromByteSlice,
T: FromByteSlice,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Error for T where
T: 'static + Send + Debug + Display,
T: 'static + Send + Debug + Display,
impl<T> ExHashT for T where
T: Hash + Eq + Debug + Clone + Send + Sync + 'static,
[src]
T: Hash + Eq + Debug + Clone + Send + Sync + 'static,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDisplay for T where
T: Display,
[src]
T: Display,
impl<T> MaybeFromStr for T where
T: FromStr,
[src]
T: FromStr,
impl<T> MaybeHash for T where
T: Hash,
[src]
T: Hash,
impl<T> MaybeHash for T where
T: Hash,
T: Hash,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> ProtocolName for T where
T: AsRef<[u8]>,
T: AsRef<[u8]>,
fn protocol_name(&self) -> &[u8]
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
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>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
[src]
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,