mirror of
https://github.com/privacy-scaling-explorations/zk-kit.git
synced 2026-04-22 03:00:15 -04:00
Former-commit-id: e5a0c5f7728ed0e2ab7116ac9fb253c2288f8d23 [formerly b7703300c105cb6cf0ec15395c871ae840565507] [formerly a5f9b9838b07daa8573be0f445113141ae832ca0 [formerly 8481a0ec611aa63b080c2a2a255a66115453fcf4]] [formerly cf29d2c50fea8519e6147e60159366a89370a59d [formerly 81c26f7dec186ae2c32ed0d11daae4c88ba87b15] [formerly 6a19c441eff1976beaca3b68a8621a64e7ac6abe [formerly 51388a7c96]]]
Former-commit-id: 79282ec7afbcd26c5f617b8f1196ad7e572bc353 [formerly 08c264943a20a80e1007a46335a918b03915b294] [formerly 379d51c23349a6fd9d42a8fb5d9fd9b236b05d80 [formerly 30f56052734837fda765c58e336081a1b1b273c5]]
Former-commit-id: fecee6d368b4879e96cff85f1c7ca64979a6302c [formerly db4ad2b259c01b5fa1f01f9d24a6802fa9da76b5]
Former-commit-id: 81eec9e7a3972dbc21300c761e9b472b4b6a93b5
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)