0.7.0 • Published 3 years ago
@interep/proof v0.7.0
The @interep/proof
package allow you to create all the Semaphore proof parameters needed for onchain verification with our Interep contracts.
🛠 Install
npm or yarn
Install the @interep/semithid
package with npm:
npm i @interep/proof --save
or yarn:
yarn add @interep/proof
📜 Usage
# createProof(identity: ZKIdentity, group: Group, externalNullifier: BigNumber, signal: string, zkFiles: zkFiles): InterepProof
import createIdentity from "@interep/identity"
import createProof from "@interep/proof"
import detectEthereumProvider from "@metamask/detect-provider"
import { ethers } from "ethers"
const ethereumProvider = (await detectEthereumProvider()) as any
const provider = new ethers.providers.Web3Provider(ethereumProvider)
const signer = provider.getSigner()
const identity = await createIdentity((message) => signer.signMessage(message), "Github")
const groupProvider = "github"
const groupName = "gold"
const externalNullifier = 1
const signal = "Hello World"
const snarkArtifacts = {
wasmFilePath: "./semaphore.wasm",
zkeyFilePath: "./semaphore_final.zkey"
}
const proof = await createProof(identity, groupProvider, groupName, externalNullifier, signal, snarkArtifacts)