Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust Cuckatoo for verifier and test-miner #1558

Merged
merged 27 commits into from
Sep 28, 2018

Conversation

yeastplume
Copy link
Member

@yeastplume yeastplume commented Sep 19, 2018

I think this is ready and okay to merge now. What I ended up doing is:

  • Implementing simple cuckatoo test solver and verifier
  • Refactoring the pow interface into a PoWContext trait, that can be instantiated with either a Cuckoo or Cuckatoo context (or whatever comes along), and making sure this trait is used throughout.
  • Ensuring that the instantiation is now done in 'global.rs', so there's currently only one line that needs to change in order to swap to a cuckatoo PoW (more will be needed for Dual-PoW, but this is a good start and can be merged now into T3.

Added some Cuckatoo 29 test vectors (should add more as we get them) and all appear to be consistent with the latest @tromp output.

@ignopeverell have a look over it when you can (or just hit the 'merge' button if you're okay with it)

pub fn byte_count(&self) -> Result<u64, Error> {
Ok(2
* self.max_edges.to_u64().ok_or(ErrorKind::IntegerCast)?
* mem::size_of::<Link<T>>() as u64 + mem::size_of::<T>() as u64 * 2 * self.max_nodes)

This comment was marked as spam.

@yeastplume yeastplume changed the title [WIP] Rust Cuckatoo for verifier and test-miner Rust Cuckatoo for verifier and test-miner Sep 27, 2018
@yeastplume yeastplume merged commit e64f4fb into mimblewimble:master Sep 28, 2018
@yeastplume yeastplume deleted the cuckatoo branch October 31, 2018 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants