4.5.0 • Published 10 months ago

@semaphore-protocol/proof v4.5.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago
This library provides utility functions to generate and verify Semaphore proofs compatible with the Semaphore circuits. Generating valid zero-knowledge proofs requires files that can only be obtained in an attested trusted-setup ceremony. For a complete list of ready-to-use files visit trusted-setup-pse.org.

🛠 Install

npm or yarn

Install the @semaphore-protocol/proof package and its peer dependencies with npm:

npm i @semaphore-protocol/identity @semaphore-protocol/group @semaphore-protocol/proof

or yarn:

yarn add @semaphore-protocol/identity @semaphore-protocol/group @semaphore-protocol/proof

📜 Usage

# generateProof(identity: Identity, group: Group | MerkleProof, externalNullifier: BigNumberish, signal: string, snarkArtifacts?: SnarkArtifacts): Promise\<SemaphoreFullProof>

import { Identity } from "@semaphore-protocol/identity"
import { Group } from "@semaphore-protocol/group"
import { generateProof } from "@semaphore-protocol/proof"
import { utils } from "ethers"

const identity = new Identity()
const group = new Group()
const externalNullifier = utils.formatBytes32String("Topic")
const signal = utils.formatBytes32String("Hello world")

group.addMembers([...identityCommitments, identity.generateCommitment()])

const fullProof = await generateProof(identity, group, externalNullifier, signal, {
    zkeyFilePath: "./semaphore.zkey",
    wasmFilePath: "./semaphore.wasm"
})

// You can also use the default zkey/wasm files (it only works from browsers!).
// const fullProof = await generateProof(identity, group, externalNullifier, signal)

# verifyProof(fullProof: FullProof, treeDepth: number): Promise\<boolean>

import { verifyProof } from "@semaphore-protocol/proof"

await verifyProof(fullProof, 20)
4.5.0

10 months ago

4.4.2

10 months ago

4.4.1

10 months ago

4.4.0

10 months ago

4.3.1

10 months ago

4.2.0

11 months ago

4.1.0

11 months ago

4.3.0

11 months ago

4.0.0-beta.15

1 year ago

4.0.0-beta.14

1 year ago

4.0.0-beta.17

1 year ago

4.0.0-beta.16

1 year ago

4.0.0-beta.13

1 year ago

4.0.0-beta.12

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

4.0.3

1 year ago

4.0.2

1 year ago

4.0.0-beta.19

1 year ago

4.0.0-beta.18

1 year ago

4.0.0-beta.11

1 year ago

4.0.0-beta.10

1 year ago

4.0.0-beta.9

1 year ago

4.0.0-beta.8

1 year ago

4.0.0-beta.7

1 year ago

4.0.0-beta.6

1 year ago

4.0.0-beta.5

1 year ago

4.0.0-beta.4

1 year ago

4.0.0-beta.3

1 year ago

4.0.0-beta.2

1 year ago

4.0.0-beta

1 year ago

4.0.0-beta.1

1 year ago

4.0.0-alpha.8

1 year ago

4.0.0-alpha.7

2 years ago

4.0.0-alpha.5

2 years ago

4.0.0-alpha.6

2 years ago

4.0.0-alpha.3

2 years ago

4.0.0-alpha.4

2 years ago

4.0.0-alpha.1

2 years ago

4.0.0-alpha.2

2 years ago

4.0.0-alpha

2 years ago

3.15.2

2 years ago

3.15.0

2 years ago

3.15.1

2 years ago

3.12.1

2 years ago

3.12.0

2 years ago

3.12.3

2 years ago

3.14.0

2 years ago

3.12.2

2 years ago

3.11.0

2 years ago

3.13.0

2 years ago

3.11.1

2 years ago

3.10.1

2 years ago

3.10.0

2 years ago

3.6.0-beta.0

2 years ago

3.6.0-beta.1

2 years ago

3.6.0-beta.2

2 years ago

3.6.0-beta.3

2 years ago

3.6.0-beta.4

2 years ago

3.9.0

2 years ago

3.4.0

2 years ago

3.2.2

2 years ago

3.3.0

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.8.0

2 years ago

3.7.0

2 years ago

3.6.0

2 years ago

3.5.0

2 years ago

3.2.3

2 years ago

3.6.0-1

2 years ago

3.1.0

2 years ago

3.0.0-beta.5

3 years ago

3.0.0-beta.7

3 years ago

3.0.0-beta.6

3 years ago

3.0.0-beta.8

3 years ago

3.0.0

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.3.0

3 years ago

2.5.0

3 years ago

2.4.0

3 years ago

2.3.1

3 years ago

2.2.0

3 years ago

0.3.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

2.1.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

0.3.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago