⚠️ JavaScript libraries were moved to the main Semaphore repository
Semaphore provides a set of JavaScript libraries to create identities, groups, generate zero-knowledge proofs and verify them with minimal effort. |
---|
Package | Version | Downloads |
---|---|---|
@semaphore-protocol/identity (docs) | ||
@semaphore-protocol/group (docs) | ||
@semaphore-protocol/proof (docs) | ||
@semaphore-protocol/subgraph (docs) |
Clone this repository:
git clone https://github.com/semaphore-protocol/semaphore.js.git
and install the dependencies:
cd semaphore.js && yarn
Run ESLint to analyze the code and catch bugs:
yarn lint
Run Prettier to check formatting rules:
yarn prettier
or to automatically format the code:
yarn prettier: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.
Run Jest to test the code with coverage:
yarn test
Run Rollup to build all the packages:
yarn build
A dist
folder will be created inside each package.
Run TypeDoc to generate a documentation website for each package:
yarn docs
The output will be placed on the docs
folder.