pub struct Digest(/* private fields */);Expand description
A 32-byte Blake2b256 hash output.
§BCS
A Digest’s BCS serialized form is defined by the following:
digest = %x20 32OCTETDue to historical reasons, even though a Digest has a fixed-length of 32,
IOTA’s binary representation of a Digest is prefixed with its length
meaning its serialized binary form (in bcs) is 33 bytes long vs a more
compact 32 bytes.
Implementations§
Source§impl Digest
impl Digest
Sourcepub const fn new(digest: [u8; 32]) -> Self
pub const fn new(digest: [u8; 32]) -> Self
Generates a new digest from the provided 32 byte array containing u8
values.
Sourcepub fn generate<R>(rng: R) -> Self
Available on crate feature rand only.
pub fn generate<R>(rng: R) -> Self
rand only.Generates a new digest from the provided random number generator.
Sourcepub const fn inner(&self) -> &[u8; 32]
pub const fn inner(&self) -> &[u8; 32]
Returns a slice to the inner array representation of this digest.
Sourcepub const fn into_inner(self) -> [u8; 32]
pub const fn into_inner(self) -> [u8; 32]
Returns the inner array representation of this digest.
Sourcepub fn from_base58<T: AsRef<[u8]>>(base58: T) -> Result<Self, DigestParseError>
pub fn from_base58<T: AsRef<[u8]>>(base58: T) -> Result<Self, DigestParseError>
Decodes a digest from a Base58 encoded string.
Sourcepub fn to_base58(&self) -> String
pub fn to_base58(&self) -> String
Returns a Base58 encoded string representation of this digest.
Sourcepub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> Result<Self, DigestParseError>
pub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> Result<Self, DigestParseError>
Generates a digest from bytes.
Trait Implementations§
Source§impl Arbitrary for Digest
impl Arbitrary for Digest
Source§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.Source§type Strategy = BoxedStrategy<Digest>
type Strategy = BoxedStrategy<Digest>
The type of
Strategy used to generate values of type Self.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl<'de> Deserialize<'de> for Digest
impl<'de> Deserialize<'de> for Digest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Digest
impl JsonSchema for Digest
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl Ord for Digest
impl Ord for Digest
Source§impl PartialOrd for Digest
impl PartialOrd for Digest
impl Copy for Digest
impl Eq for Digest
impl StructuralPartialEq for Digest
Auto Trait Implementations§
impl Freeze for Digest
impl RefUnwindSafe for Digest
impl Send for Digest
impl Sync for Digest
impl Unpin for Digest
impl UnwindSafe for Digest
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
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>,
Encode the hex strict representing
self into the result. Upper case
letters are used (e.g. F9B4CA)