pub struct Lean { /* private fields */ }
Expand description
Lean miner implementation aiming to be as short and simple as possible. As a consequence, it’s a little less than 10 times slower than John Tromp’s implementation, as it’s not optimized for performance and reuses croaring which is likely sub-optimal for this task.
Implementations§
source§impl Lean
impl Lean
sourcepub fn new(edge_bits: u8) -> Lean
pub fn new(edge_bits: u8) -> Lean
Instantiates a new lean miner based on some Cuckatoo parameters
sourcepub fn set_header_nonce(&mut self, header: Vec<u8>, nonce: u32)
pub fn set_header_nonce(&mut self, header: Vec<u8>, nonce: u32)
Sets the header and nonce to seed the graph
sourcepub fn trim(&mut self)
pub fn trim(&mut self)
Trim edges in the Cuckatoo graph. This applies multiple trimming rounds and works well for Cuckatoo size above 18.
sourcepub fn find_cycles(&self, ctx: CuckatooContext) -> Result<Vec<Proof>, Error>
pub fn find_cycles(&self, ctx: CuckatooContext) -> Result<Vec<Proof>, Error>
Finds the Cuckatoo Cycles on the remaining edges. Delegates the finding to a context, passing the trimmed edges iterator.
Auto Trait Implementations§
impl Freeze for Lean
impl RefUnwindSafe for Lean
impl Send for Lean
impl Sync for Lean
impl Unpin for Lean
impl UnwindSafe for Lean
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