A privacy-preserving payment solution using zero-knowledge proofs, built with Solidity smart contracts, Circom ZK circuits, and a Next.js frontend.
DiffiPay/
├── packages/
│ ├── contracts/ # Solidity smart contracts (Foundry)
│ ├── circuits/ # Circom ZK circuits
│ └── frontend/ # Next.js TypeScript frontend
├── package.json # Monorepo configuration
└── README.md
# Install all workspace dependencies
npm run install:all# Run frontend development server
npm run frontend:dev
# Build contracts
npm run contracts:build
# Run contract tests
npm run contracts:test
# Compile circuits
npm run circuits:compile
# Run circuit tests
npm run circuits:testSolidity smart contracts built with Foundry framework.
- Build:
npm run contracts:build - Test:
npm run contracts:test - See packages/contracts/README.md for details
Zero-knowledge circuits built with Circom.
- Compile:
npm run circuits:compile - Test:
npm run circuits:test - Generate verifiers:
npm run circuits:build:contracts - See packages/circuits/README.md for details
Next.js application with TypeScript and Tailwind CSS.
- Dev:
npm run frontend:dev - Build:
npm run frontend:build - Start:
npm run frontend:start
- Design and implement ZK circuits in
packages/circuits - Compile circuits and generate Solidity verifier contracts
- Integrate verifier contracts into main contracts in
packages/contracts - Deploy contracts and interact via the Next.js frontend
MIT