pub struct Pow<T> { /* private fields */ }
Expand description
Proof of work over concrete type T. T can be any type that implements serde::Serialize.
Implementations§
Source§impl<T: Serialize> Pow<T>
impl<T: Serialize> Pow<T>
Sourcepub fn prove_work(t: &T, difficulty: u128) -> Result<Pow<T>>
pub fn prove_work(t: &T, difficulty: u128) -> Result<Pow<T>>
Prove work over T.
Make sure difficulty is not too high. A 64 bit difficulty, for example, takes a long time on a general purpose processor.
Returns bincode::Error if serialization fails.
Sourcepub fn prove_work_serialized(prefix: &[u8], difficulty: u128) -> Pow<T>
pub fn prove_work_serialized(prefix: &[u8], difficulty: u128) -> Pow<T>
Prove work on an already serialized item of type T. The input is assumed to be serialized using network byte order.
Make sure difficulty is not too high. A 64 bit difficulty, for example, takes a long time on a general purpose processor.
Sourcepub fn score_serialized(&self, target: &[u8]) -> u128
pub fn score_serialized(&self, target: &[u8]) -> u128
Calculate the pow score of an already serialized T and self. The input is assumed to be serialized using network byte order.
Trait Implementations§
Source§impl<'de, T> Deserialize<'de> for Pow<T>
impl<'de, T> Deserialize<'de> for Pow<T>
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
impl<T: Copy> Copy for Pow<T>
impl<T> StructuralPartialEq for Pow<T>
Auto Trait Implementations§
impl<T> Freeze for Pow<T>
impl<T> RefUnwindSafe for Pow<T>where
T: RefUnwindSafe,
impl<T> Send for Pow<T>where
T: Send,
impl<T> Sync for Pow<T>where
T: Sync,
impl<T> Unpin for Pow<T>where
T: Unpin,
impl<T> UnwindSafe for Pow<T>where
T: UnwindSafe,
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