Trait grin_core::pow::PoWContext[][src]

pub trait PoWContext {
    fn set_header_nonce(
        &mut self,
        header: Vec<u8>,
        nonce: Option<u32>,
        solve: bool
    ) -> Result<(), Error>;
fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>;
fn verify(&self, proof: &Proof) -> Result<(), Error>; }

Generic trait for a solver/verifier providing common interface into Cuckoo-family PoW Mostly used for verification, but also for test mining if necessary

Required methods

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    solve: bool
) -> Result<(), Error>
[src]

Sets the header along with an optional nonce at the end solve: whether to set up structures for a solve (true) or just validate (false)

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

find solutions using the stored parameters and header

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

Verify a solution with the stored parameters

Loading content...

Implementors

impl PoWContext for CuckarooContext[src]

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    _solve: bool
) -> Result<(), Error>
[src]

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

impl PoWContext for CuckaroodContext[src]

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    _solve: bool
) -> Result<(), Error>
[src]

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

impl PoWContext for CuckaroomContext[src]

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    _solve: bool
) -> Result<(), Error>
[src]

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

impl PoWContext for CuckaroozContext[src]

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    _solve: bool
) -> Result<(), Error>
[src]

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

impl PoWContext for CuckatooContext[src]

fn set_header_nonce(
    &mut self,
    header: Vec<u8>,
    nonce: Option<u32>,
    solve: bool
) -> Result<(), Error>
[src]

fn find_cycles(&mut self) -> Result<Vec<Proof>, Error>[src]

fn verify(&self, proof: &Proof) -> Result<(), Error>[src]

Loading content...