@webb-tools/semaphore-identity
v0.0.1-3
Published
A library to create Semaphore-anchor identities.
Downloads
30
Keywords
Readme
| 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 @semaphore-protocol/identity
package with npm:
npm i @semaphore-protocol/identity
or yarn:
yarn add @semaphore-protocol/identity
📜 Usage
# new Identity(identityOrMessage?: string): Identity
import { Identity } from "@semaphore-protocol/identity"
// The identity can be generated randomly.
const identity1 = new Identity(chainID)
// Deterministically from a secret message.
const identity2 = new Identity(chainID, "secret-message")
// Or it can be retrieved from an existing identity.
const identity3 = new Identity(chainID, identity1.toString())
// Trapdoor, nullifier and commitment are the attributes (e.g. JS getters).
const { trapdoor, nullifier, commitment } = identity1