ℹ️ Note: This repository contains a implementation of Aegis.
⚠️ Warning: Do not use this project in production.
This repository contains both Rust/arkworks circuits and Hardhat-based smart contracts. Follow the steps below to reproduce the full testing pipeline locally.
- Rust (stable):
cargo - Node.js (LTS):
npm - Git, bash
git clone https://github.com/snp-labs/Aegis.git
cd AegisBefore running circuit tests, copy the example environment file:
cd aegis_circuit
cp .env.example .envMake sure to adjust any required values in .env according to your setup.
cd src/tests
sh run_tests.sh- This file includes detailed performance metrics, such as:
- Number of Constraints
- Setup time
- Proving time
- Aggregate time
- Verify time
- Performance across different batch sizes and thread counts
- Results are stored in
circuit_result.txt
Before running contract tests, make sure you have run Circuit Tests (Step 3).
Circuit tests generate scenario data required for the contracts (aegis_contract/result/dbtData.ts)
cd aegis_contract
npm install
npx hardhat test- Tests will fall if
dbtData.tsis missing