Struct avalanche_types::ids::node::Id
source · #[repr(transparent)]pub struct Id(_);Expand description
Implementations§
source§impl Id
impl Id
pub fn default() -> Self
pub fn empty() -> Self
pub fn is_empty(&self) -> bool
pub fn to_vec(&self) -> Vec<u8> ⓘ
pub fn from_slice(d: &[u8]) -> Self
sourcepub fn from_cert_pem_file(cert_file_path: &str) -> Result<Self>
pub fn from_cert_pem_file(cert_file_path: &str) -> Result<Self>
Loads a node ID from the PEM-encoded X509 certificate. ref. https://pkg.go.dev/github.com/ava-labs/avalanchego/node#Node.Initialize
sourcepub fn from_cert_der_bytes<S>(cert_bytes: S) -> Result<Self>where
S: AsRef<[u8]>,
pub fn from_cert_der_bytes<S>(cert_bytes: S) -> Result<Self>where S: AsRef<[u8]>,
Encodes the DER-encoded certificate bytes to a node ID. It applies “sha256” and “ripemd160” on “Certificate.Leaf.Raw”. ref. https://pkg.go.dev/github.com/ava-labs/avalanchego/utils/hashing#PubkeyBytesToAddress ref. https://pkg.go.dev/github.com/ava-labs/avalanchego/ids#ToShortID
sourcepub fn load_or_generate_pem(
key_path: &str,
cert_path: &str
) -> Result<(Self, bool)>
pub fn load_or_generate_pem( key_path: &str, cert_path: &str ) -> Result<(Self, bool)>
Loads the existing staking certificates if exists, and returns the loaded or generated node Id. Returns “true” if generated.
pub fn short_id(&self) -> Id
Trait Implementations§
source§impl AsBytes for Id
impl AsBytes for Id
source§fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_bytes_mut(&mut self) -> &mut [u8] ⓘwhere Self: FromBytes,
source§fn write_to_prefix<B>(&self, bytes: B) -> Option<()>where
B: ByteSliceMut,
fn write_to_prefix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,
source§fn write_to_suffix<B>(&self, bytes: B) -> Option<()>where
B: ByteSliceMut,
fn write_to_suffix<B>(&self, bytes: B) -> Option<()>where B: ByteSliceMut,
source§impl<'de> Deserialize<'de> for Id
impl<'de> Deserialize<'de> for Id
Custom deserializer. ref. https://serde.rs/impl-deserialize.html
source§fn deserialize<D>(deserializer: D) -> Result<Id, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Id, D::Error>where D: Deserializer<'de>,
source§impl Display for Id
impl Display for Id
ref. https://doc.rust-lang.org/std/string/trait.ToString.html ref. https://doc.rust-lang.org/std/fmt/trait.Display.html Use “Self.to_string()” to directly invoke this.
source§impl FromBytes for Id
impl FromBytes for Id
source§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere Self: Sized,
Self from zeroed bytes.source§impl Ord for Id
impl Ord for Id
source§impl PartialOrd<Id> for Id
impl PartialOrd<Id> for Id
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresource§impl Serialize for Id
impl Serialize for Id
Custom serializer. ref. https://serde.rs/impl-serialize.html
impl Copy for Id
impl Eq for Id
impl StructuralEq for Id
impl Unaligned for Id
Auto Trait Implementations§
impl RefUnwindSafe for Id
impl Send for Id
impl Sync for Id
impl Unpin for Id
impl UnwindSafe for Id
Blanket Implementations§
§impl<T, U> AsByteSlice<T> for Uwhere
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
impl<T, U> AsByteSlice<T> for Uwhere T: ToByteSlice, U: AsRef<[T]> + ?Sized,
fn as_byte_slice(&self) -> &[u8] ⓘ
§impl<U> AsSliceOf for Uwhere
U: AsRef<[u8]> + ?Sized,
impl<U> AsSliceOf for Uwhere U: AsRef<[u8]> + ?Sized,
fn as_slice_of<T>(&self) -> Result<&[T], Error>where T: FromByteSlice,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
source§impl<T> Base32Len for Twhere
T: AsRef<[u8]>,
impl<T> Base32Len for Twhere T: AsRef<[u8]>,
source§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Requestsource§impl<T> ToBase32 for Twhere
T: AsRef<[u8]>,
impl<T> ToBase32 for Twhere T: AsRef<[u8]>,
source§fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where
W: WriteBase32,
fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where W: WriteBase32,
source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)