Skip to content

ModoriLabs/semaphore.nr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

semaphore.nr

Getting Started

  • nargo version = 1.0.0-beta.2
  • bb version = 0.72.1
git submodule update

# Build circuits, generate verifier contract
# default depth is 32
(cd packages/semaphore && ./script/build.sh 32)

# Use JS to generate proof and save to a file
cd js
npx ts-node generate-proof.ts --depth=32  # for SemaphoreHonkVerifier.t.sol default depth is 32
npx ts-node generate-proof2.ts # for SemaphoreHonk.t.sol

# foundry tests read generated proof and verify
cd -
(cd packages/contracts && forge test --optimize --optimizer-runs 5000 --gas-report)
Image

Test

contracts

(cd packages/contracts && forge test --optimize --optimizer-runs 5000 --gas-report)

circuit

# main circuit
(cd packages/semaphore && nargo test)

# lean_imt circuit
(cd tests && nargo test)

UltraPlonk

(cd packages/semaphore && ./script/build.sh 32 ultra)

cd js
npx ts-node generate-ultra-proof.ts --depth=32  # for SemaphoreHonkVerifier.t.sol default depth is 32

cd -
(cd packages/contracts && forge test --mc UltraVerifierTest --optimize --optimizer-runs 5000 --gas-report)

Contract Addresses

sepolia

Contracts Address
Feedback 0x442dc178c85cd331d5e727348b23758ff2ca4d2f
Semaphore 0xccd53b41c34edd285837ea4604e62018762bead1
SemaphoreHonkVerifier 0xc2732ece3b48c8679820ca9fff5c0c842a17e963
HonkVerificationKeys 0x68744c134c0d3e2aba1e0ef54a68a4bb56775cb2

NOTE

  • For now, the supported MAX_DEPTH list is [1, 4, 8, 16, 20, 24, 28, 32] due to the contract size limit, 24kb. If the length of paths is less than MAX_DEPTH, generate-proof.ts will fill 0 up to MAX_DEPTH.

Benchmark

Proof size

For the same MAX_DEPTH = 32,

Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors