mirror of
https://github.com/privacy-scaling-explorations/zk-kit.git
synced 2026-04-22 03:00:15 -04:00
Former-commit-id: 92f063bf3794f022233565633299610938e62e09 [formerly 9fb0532beafe80f1591bd9aa3b083dfd55469611] [formerly 3b14775151319fe357ebbe82a4931f85c15a3bbd [formerly 87dbdfb166]]
Former-commit-id: 28a49fe4119f800a610d6a1c0315baf31f598fe0 [formerly 346fea95b7b9f2d17c928a5019cbcfb664b0fdfc]
Former-commit-id: 65d03434f0522b0ef27ef74ef456099e4db9309a
ZK identities
Library for managing identities for Semaphore and RLN protocols.
🛠 Install
npm or yarn
Install the @zk-kit/identity package with npm:
npm i @zk-kit/identity
or yarn:
yarn add @zk-kit/identity
📜 Usage
Creating an identity with a random strategy:
import { ZkIdentity } from "@zk-kit/identity"
// const { ZkIdentity } = require("@zk-kit/identity") // with commonJS
const identity = new ZkIdentity()
const trapdoor = identity.getTrapdoor()
const nullifier = identity.getNullifier()
const secret = identity.getSecret()
const multipartSecret = identity.getMultipartSecret()
const identityCommitment = identity.genIdentityCommitment()
Creating an identity with a message strategy:
import { ZkIdentity, Strategy } from "@zk-kit/identity"
const identity = new ZkIdentity(Strategy.MESSAGE, "message")
Creating an identity with a serialized strategy:
import { ZkIdentity, Strategy } from "@zk-kit/identity"
const identity = new ZkIdentity()
const serializedIdentity = identity.serializeIdentity()
const identity2 = new ZkIdentity(Strategy.SERIALIZED, serializedIdentity)