Files
zk-kit/README.md
Omar Desogus 5afde405af docs: add list of dev tech of the project
Former-commit-id: 6abb89336c3495da9393a299b9bd0d55eb27bbc0 [formerly 56edf10baaeaece6b2eef8b12fa4e5ba1ee583c4] [formerly 2d85c1dc9ce060265243a82d365c78243da6ca53 [formerly ff6d439a0b]]
Former-commit-id: c090dcd261b24b7f1756fef218ee637f9d9bebb7 [formerly 6ef0dadbb5249eddeb1c0a5fdfc6b5bf4c6ffcb8]
Former-commit-id: 4ef9de747e4fd88a022192d6180dc3f332ec375f
2022-01-19 13:00:20 +01:00

7.6 KiB

🧰 ZK-kit

A monorepo of reusable JS libraries for zero-knowledge technologies.

Github license GitHub Workflow test Linter eslint Code style prettier Lerna

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 NPM version Downloads npm bundle size (scoped)
@zk-kit/protocols NPM version Downloads npm bundle size (scoped)
@zk-kit/incremental-merkle-tree NPM version Downloads npm bundle size (scoped)
@zk-kit/sparse-merkle-tree NPM version Downloads npm bundle size (scoped)

🛠 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.