4.5.0 • Published 8 months ago

@semaphore-protocol/proof v4.5.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 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

8 months ago

4.4.2

8 months ago

4.4.1

8 months ago

4.4.0

8 months ago

4.3.1

8 months ago

4.2.0

9 months ago

4.1.0

9 months ago

4.3.0

8 months ago

4.0.0-beta.15

12 months ago

4.0.0-beta.14

12 months ago

4.0.0-beta.17

11 months ago

4.0.0-beta.16

12 months ago

4.0.0-beta.13

12 months ago

4.0.0-beta.12

1 year ago

4.0.1

11 months ago

4.0.0

11 months ago

4.0.3

10 months ago

4.0.2

10 months ago

4.0.0-beta.19

11 months ago

4.0.0-beta.18

11 months 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

1 year ago

4.0.0-alpha.5

1 year ago

4.0.0-alpha.6

1 year ago

4.0.0-alpha.3

1 year ago

4.0.0-alpha.4

1 year ago

4.0.0-alpha.1

1 year ago

4.0.0-alpha.2

1 year ago

4.0.0-alpha

1 year ago

3.15.2

1 year 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

2 years ago

3.0.0-beta.7

2 years ago

3.0.0-beta.6

2 years ago

3.0.0-beta.8

2 years ago

3.0.0

2 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