https://github.com/rarimo/evidence-registry
https://github.com/rarimo/evidence-registry
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/rarimo/evidence-registry
- Owner: rarimo
- License: cc0-1.0
- Created: 2024-11-01T12:51:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-17T16:53:02.000Z (over 1 year ago)
- Last Synced: 2025-02-17T17:27:35.494Z (over 1 year ago)
- Language: Solidity
- Homepage: https://ethereum-magicians.org/t/erc-7812-zk-identity-registry/21624
- Size: 924 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/@rarimo/evidence-registry)
# ERC-7812 Reference Implementation
This EIP introduces an on-chain registry system for storing abstract statements, where the state of the system can be proven in zero knowledge without disclosing anything about these statements. Developers may use the singleton `EvidenceRegistry` contract to integrate custom business-specific registrars for statement processing and proving.
Link to the [ERC-7812](https://ethereum-magicians.org/t/erc-7812-zk-identity-registry/21624).
## Usage
You will find Solidity smart contracts implementation in the `contracts` directory and Circom circuits in the `circuits` directory.
Install all the required dependencies:
```bash
npm install
```
The proper tests have been written for both the smart contracts and circuits leveraging [hardhat-zkit](https://github.com/dl-solarity/hardhat-zkit).
To run the all the tests, execute:
```bash
npm run test-all
```
## Deployment
The `EvidenceRegistry` is deployed via a [deterministic factory](https://github.com/Arachnid/deterministic-deployment-proxy) to the address `0x781246D2256dc0C1d8357c9dDc1eEe926a9c7812`. The `EvidenceDB` is available at the address `0xb93fb4a2B4c441937b0d4feA4337999943bacf67`.
To reproduce the deployment on other chains, run `npx hardhat compile && npx hardhat run ./scripts/deploy.ts --network `.
> [!IMPORTANT]
> Do not modify the code, lint solidity files, or update compiler/hardhat settings as this will change the smart contracts bytecode.
## Disclaimer
GLHF!