Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.97 KB

README.md

File metadata and controls

44 lines (32 loc) · 1.97 KB

Zero-Knowledge Cryptography Schemes for =nil; Foundation's Cryptography Suite

Zero-Knowledge cryptography schemes for =nil; Foundation's cryptography suite. SNARK-alike schemes for now. More trivial Pedersen commitment schemes, STARKs, IOP-based SNARKs, Bulletproofs etc in future.

Run tests

Building

This library uses Boost CMake build modules (https://github.com/BoostCMake/cmake_modules.git). To actually include this library in a project it is required to:

  1. Add CMake Modules as submodule to target project repository.
  2. Add all the internal dependencies using CMake Modules as submodules to target project repository.
  3. Initialize parent project with CMake Modules (Look at crypto3 for the example)

Updating from crypto3-zk repository

Update could be done either with git format-patch and git am --3way --whitespace=fix --reject, but this will lead to .rej files in case of conflicts.

To make it more merge-like, add crypto3-zk as upstream, and cherry-pick commits from it:

git remote add crypto3-zk [email protected]:NilFoundation/crypto3-zk.git
git fetch crypto3-zk
git cherry-pick <from_crypto3-zk_commit_sha>^..<to_crypto3-zk_commit_sha>

After transforming Crypto3 into monorepo subtree path should be specified:

git cherry-pick -Xsubtree=libs/zk <from_crypto3_commit_sha>^..<to_crypto3_commit_sha>

Dependencies

Internal

External