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.
You will find Solidity smart contracts implementation in the contracts
directory and Circom circuits in the circuits
directory.
Install all the required dependencies:
npm install
The proper tests have been written for both the smart contracts and circuits leveraging hardhat-zkit.
To run the all the tests, execute:
npm run test-all
The EvidenceRegistry
is deployed via a deterministic factory 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 <network>
.
[!IMPORTANT] Do not modify the code, lint solidity files, or update compiler/hardhat settings as this will change the smart contracts bytecode.
GLHF!