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.
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:
- Add CMake Modules as submodule to target project repository.
- Add all the internal dependencies using CMake Modules as submodules to target project repository.
- Initialize parent project with CMake Modules (Look at crypto3 for the example)
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>
- Boost (>= 1.74)