https://github.com/numtel/zk-group-decryptable
An adaptation of Semaphore v4 with optional decryptability
https://github.com/numtel/zk-group-decryptable
Last synced: 10 months ago
JSON representation
An adaptation of Semaphore v4 with optional decryptability
- Host: GitHub
- URL: https://github.com/numtel/zk-group-decryptable
- Owner: numtel
- Created: 2024-01-04T08:01:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-05T05:46:00.000Z (over 2 years ago)
- Last Synced: 2025-04-09T10:41:56.919Z (about 1 year ago)
- Language: Solidity
- Size: 63.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zk-group-decryptable
An adaptation of [Semaphore v4](https://github.com/semaphore-protocol/semaphore/tree/feat/semaphore-v4) simplified and using [Foundry](https://getfoundry.sh/) for the contracts while also adding the ability to decrypt proofs using STARK-friendly asymmetric ElGamal encryption as implemented by [Shigoto-dev19](https://github.com/Shigoto-dev19/ec-elgamal-circom)
Get started using the [example app](https://github.com/numtel/semaphore-decryptable-example)!
## Deployed Contracts
Network | Contract
--------|-----------
Holesky | [0x0xBE5aaa6dA0445d4a9989702E0FB8B590039112f1](https://holesky.etherscan.io/address/0xBE5aaa6dA0445d4a9989702E0FB8B590039112f1)
## Installation
> You must have Node.js, Yarn, Foundry, and Circom installed.
```
$ git clone git@github.com:numtel/zk-group-decryptable.git
$ cd zk-group-decryptable
$ yarn
# Configure circuit
$ npx circomkit compile semaphore
$ npx circomkit ptau semaphore
$ npx circomkit setup semaphore
$ npx circomkit instantiate semaphore
$ npx circomkit contract semaphore
# Ready to run tests
$ yarn test
# Configure to deploy
$ cp .env.example .env
$ vim .env
$ yarn deploy:holesky
```
## License
MIT