mirror of
https://github.com/privacy-scaling-explorations/zk-kit.git
synced 2026-04-22 03:00:15 -04:00
cfc7dc5b58d6afd026d13810dbbba203b5d08ae7
Former-commit-id: 568d08bb34f7be933720e813802b34bc10598d01 [formerly 043e3c334dcbafcd5a2dff77d64db6977d173d33] [formerly 2a9d5df2b41d34f87cbe24a4305ae49ac72e7cea [formerly 8d6320f3d4]]
Former-commit-id: 77cc95d1e8769e111149f0f3138adac870ebff81 [formerly 0a2891be194f146c9755ddc32961020291d14c36]
Former-commit-id: 0e1e8d7bbef60b2e9fdf84f6238a6ed42d5afd56
🧰 ZK-kit
A monorepo of reusable JS libraries for zero-knowledge technologies.
| ZK-kit is a set of NPM modules (algorithms or utility functions) that can be reused in different projects and zero-knowledge protocols, making it easier for developers to access ready-to-use and tested libraries for common tasks. |
|---|
♚ Simplified package management with Lerna (yarn, yarn build, yarn publish:fp)
♛ Conventional Commits for adding human and machine readable meaning to commit messages (yarn commit)
♜ Jest tests & common test coverage for all packages (yarn test)
♞ ESLint & Prettier to keep the code neat and well organized (yarn prettier & yarn lint)
♝ Simple benchmarking framework for JavaScript/TypeScript libraries with Benny (yarn benchmark)
📦 Packages
| Package | Version | Downloads | Size |
|---|---|---|---|
| @zk-kit/identity |
|
|
|
| @zk-kit/protocols |
|
|
|
| @zk-kit/incremental-merkle-tree |
|
|
|
| @zk-kit/sparse-merkle-tree |
|
|
|
🛠 Install
Clone this repository and install the dependencies:
$ git clone https://github.com/appliedzkp/zk-kit.git
$ cd zk-kit && yarn
📜 Usage
$ yarn lint # Syntax check with ESLint (yarn lint:fix to fix errors).
$ yarn prettier # Syntax check with Prettier (yarn prettier:fix to fix errors).
$ yarn commit # Interactive Commitizen commit.
$ yarn test # Test all packages (with common coverage).
$ yarn build # Create a JS build for each package.
$ yarn publish:fp # Publish packages on npm.
You can see the other npm scripts in the package.json file.
Languages
TypeScript
95.5%
TeX
4.4%