Files
zk-kit/packages/protocols
cedoor 8c4d562585 build(rollup): replace typescript plugin
Former-commit-id: 79bdca7a50ae8bed43d30292cba9750768c26748 [formerly 63fcb2b425b44429155b5197188f551c975622be] [formerly edbdc59d92792b73e239a249f1912a12401c0d34 [formerly 1d1bf58433787d94813358a2dcdcd0178027adba]] [formerly bfd5146e4680c61b448d60ff8facba554a8b1d4b [formerly 79d07901f4fbf9cd45cfd246c352cb4e6faa7443] [formerly 388550803ae834c038afb62bccf1b975d233d0a3 [formerly 87fcdf2810]]]
Former-commit-id: 2b3cda8c28ba3b4faa6008f9c99ee498b1f6b3b0 [formerly 497c5d149c5ed1d1840e0065680178edfa5614ac] [formerly 15266c6c05ec15dd1795a6145ca61aef2a8dd088 [formerly 61c7b7aa121d893a2a18550218d0b6398a96a7aa]]
Former-commit-id: 0495b6a580cb084dc4e79d28b3e29ae0a74dadda [formerly 827e68c7729b53aedd116b8c426738193d0557f8]
Former-commit-id: b855182b594a4e9739a066149b08ee2b9d6b309c
2022-02-09 15:17:20 +01:00
..
2022-02-02 22:27:58 +01:00
2022-02-01 16:33:03 +01:00

ZK protocols

Client library for generating and verifying Semaphore & RLN ZK proofs.

Github license NPM version Downloads npm bundle size (scoped) Linter eslint Code style prettier


🛠 Install

npm or yarn

Install the @zk-kit/protocols package with npm:

npm i @zk-kit/protocols

or yarn:

yarn add @zk-kit/protocols

📜 Usage

Generating Merkle proofs

import { ZkIdentity } from "@zk-kit/identity"
import { generateMerkleProof } from "@zk-kit/protocols"

const depth = 20
const zeroValue= BigInt(0)
const arity = 5
const identityCommitments = [...];
const identity = new ZkIdentity();
const identityCommitment = identity.genIdentityCommitment();

const merkleProof = generateMerkleProof(depth, zeroValue, arity, identityCommitments, identityCommitment);

Creating Semaphore proofs

import { Semaphore, genExternalNullifier } from "@zk-kit/protocols"

const signal = "0x111"
const externalNullifier = genExternalNullifier("voting_1")
const witness = Semaphore.genWitness(identity, merkleProof, externalNullifier, signal)

const fullProof = await Semaphore.genProof(witness, "./semaphore.wasm", "./semaphore.zkey")