ZK-Kit is a set of libraries (algorithms or utility functions) that can be reused in different projects and zero-knowledge protocols, making it easier for developers to access user-friendly, tested, and documented code for common tasks. ZK-Kit provides different repositories for each language - this one contains Solidity code only. |
---|
- Javascript: https://github.com/privacy-scaling-explorations/zk-kit
- Solidity: https://github.com/privacy-scaling-explorations/zk-kit.solidity
- Circom: https://github.com/privacy-scaling-explorations/zk-kit.circom
- Noir: https://github.com/privacy-scaling-explorations/zk-kit.noir
Package | Version | Downloads |
---|---|---|
@zk-kit/imt.sol | ||
@zk-kit/lean-imt.sol | ||
@zk-kit/lazy-imt.sol |
- 🔧 Work on open issues
- 📦 Suggest new packages
- 🚀 Share ideas for new features
- 🐛 Create a report if you find any bugs in the code
Clone this repository:
git clone https://github.com/privacy-scaling-explorations/zk-kit.solidity.git
and install the dependencies:
cd zk-kit.solidity && yarn
Run Prettier to check formatting rules:
yarn format
or to automatically format the code:
yarn format:write
Semaphore uses conventional commits. A command line utility to commit using the correct syntax can be used by running:
yarn commit
It will also automatically check that the modified files comply with ESLint and Prettier rules.
Test the code:
yarn test
Compile all contracts:
yarn compile
Bump a new version for your package with:
yarn version:bump <package-name> <version>
# e.g. yarn version:bump utils 2.0.0
It will create a commit and a git tag that you'll need to push on the main branch. A workflow will be triggered and will publish your package on npm and release a new version on Github with its changelogs automatically.