CryptKeeper is a browser extension which enables Zero knowledge identity management and proof generation. Currently it supports operations for Semaphore and RLN gadgets.
This plugin is still in development phase.
The following features are supported currently:
- Identity secret and Identity commitment generation
- Semaphore ZK-Proof generation
- RLN ZK-Proof generation
The plugin uses the zk-kit library.
Proof generation is enabled in two ways:
- by providing merkle witness directly
- by providing a secure service address from which the merkle witness should be obtained
npm install
npm run dev
- Load the dist directory as an unpacked extension from your browser.
npm run dev
ornpm run build
npm run merkle
cd demo && npm install && npm run start
- Run
npx playwright install --with-deps chromium
to install playwright dependencies - Run
npm install
for extension and for demo - Make sure you have
.env.test
file withMETAMASK_EXTENSION_ID
. METAMASK_EXTENSION_ID
can be found in log output fornpm run e2e
. For different environmentsMETAMASK_EXTENSION_ID
is also different so we need to specify it explicitly.- Run
npm run build:e2e
to build the extension - Run
npm run e2e
to run playwright e2e tests