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

Tracking: Migration of select submodules from snarkOS into snarkVM #128

Closed
2 of 7 tasks
howardwu opened this issue May 21, 2020 · 1 comment
Closed
2 of 7 tasks
Labels
dependencies Pull requests that update a dependency file feature New feature or request refactor Codebase refactor, optimization, or cleanup

Comments

@howardwu
Copy link
Contributor

howardwu commented May 21, 2020

In an effort to formalize Aleo records (for usability), reduce miner code dependencies (for security), and introduce an abstraction layer for DPC (for modularity), we are migrating select submodules from snarkOS into snarkVM.

  • algorithms
  • benchmarks
  • curves
  • dpc
  • gadgets

This migration will allow snarkVM to focus on its core functionality of facilitating predicate (application) executions, producing DPC records, and composing records into transactions. This migration will also simplify the existing dependency chain for a number of repositories currently upstream. In addition, this migration should improve snarkOS compile times significantly.

In preparation for this migration, there are a few updates snarkOS will need to make in order to ensure a smooth transition.

To complete this migration, 3 submodules in snarkOS will need a minor update, calling components from snarkVM now.

In snarkos-consensus:

  • dpc - InstantiatedDPC will be called from snarkVM
  • dpc - PublicParameters will be called from snarkVM

In snarkos-network:

  • dpc - Instantiated components of DPC will be called from snarkVM
  • dpc - InstantiatedDPC will be called from snarkVM
  • dpc - PublicParameters will be called from snarkVM

In snarkos-posw:

  • gadgets - Merkle gadget will be called from snarkVM
  • curves - BLS12-377 will be called from snarkVM

Lastly, prior to publishing snarkVM to Crates.io, to ensure Travis CI continues to run, a private dependency link will be used for continuous integration.

@howardwu howardwu added feature New feature or request dependencies Pull requests that update a dependency file refactor Codebase refactor, optimization, or cleanup labels May 21, 2020
@gakonst
Copy link
Contributor

gakonst commented Jun 2, 2020

What is the latest on this? IIUC we're not moving forward with the OS->VM migration

@howardwu howardwu closed this as completed Jun 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file feature New feature or request refactor Codebase refactor, optimization, or cleanup
Projects
None yet
Development

No branches or pull requests

2 participants