3.10.3 • Published 9 months ago

@cryptkeeperzk/semaphore-identity v3.10.3

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago
This library provides a class that can be used to create identities compatible with the Semaphore circuits. Each identity contains two secret values: trapdoor and nullifier, and one public value: commitment. The Poseidon hash of the secret values is the identity secret, and its hash is the identity commitment.

🛠 Install

npm or yarn

Install the @cryptkeeperzk/semaphore-identity package with npm:

npm i @cryptkeeperzk/semaphore-identity

or yarn:

yarn add @cryptkeeperzk/semaphore-identity

📜 Usage

# new Identity(identityOrMessage?: string): Identity

import { Identity } from "@cryptkeeperzk/semaphore-identity"

// The identity can be generated randomly.
const identity1 = new Identity()

// Deterministically from a secret message.
const identity2 = new Identity("secret-message")

// Or it can be retrieved from an existing identity.
const identity3 = new Identity(identity1.toString())

// Trapdoor, nullifier and commitment are the attributes (e.g. JS getters).
const { trapdoor, nullifier, commitment } = identity1