Struct resource_proof::ResourceProof [−][src]
Holds the prover requirements
Implementations
impl ResourceProof
[src]
pub fn new(min_size: usize, difficulty: u8) -> ResourceProof
[src]
Configure a new prover.
min_size
is target data size in bytes. It may be small or large to test bandwidth
(although it may be compressible).
difficulty
is the number of leading binary zeros required in the hash. Each extra zero
doubles the difficulty.
pub fn create_proof_data(&self, nonce: &[u8]) -> VecDeque<u8>
[src]
Create the proof data with a given nonce.
pub fn create_prover(&self, data: VecDeque<u8>) -> ResourceProver
[src]
Create a prover object. Requires a copy of the data (from create_proof_data
) to be
passed in.
pub fn validate_all(
&self,
nonce: &[u8],
received_data: &VecDeque<u8>,
key: u64
) -> bool
[src]
&self,
nonce: &[u8],
received_data: &VecDeque<u8>,
key: u64
) -> bool
Validate the proof data and key (this is the number of zeros to be pushed onto the data).
pub fn validate_data(&self, nonce: &[u8], data: &VecDeque<u8>) -> bool
[src]
Validate the data for the given nonce
and size data.
pub fn validate_proof(&self, nonce: &[u8], key: u64) -> bool
[src]
Validate the proof key (this must recreate the data, hence validate_all
is faster when
both must be checked).
Auto Trait Implementations
impl RefUnwindSafe for ResourceProof
impl Send for ResourceProof
impl Sync for ResourceProof
impl Unpin for ResourceProof
impl UnwindSafe for ResourceProof
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
pub 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>,