A secure vault system built on Sui blockchain with zero-knowledge proof authentication.
ZkSafe is a decentralized vault system that uses zero-knowledge proofs to authenticate users. The system consists of:
- A Sui smart contract for vault management
- A Circom circuit for zero-knowledge proof generation
- A React frontend for user interaction
- Create secure vaults on Sui blockchain
- Zero-knowledge proof based authentication
- Secure vault unlocking mechanism
- Modern React frontend with TypeScript
ZkSafe/
├── src/
│ ├── hooks/
│ │ ├── useVault.ts # Sui contract integration
│ │ └── useCircuit.ts # ZK proof generation and verification
│ ├── components/ # React components
│ └── App.tsx # Main application component
├── contracts/ # Sui Move smart contracts
│ └── vault.move # Vault contract implementation
├── circuits/ # Circom circuits
│ └── VaultAuth.circom # Authentication circuit
└── package.json
- Node.js (v16 or higher)
- Sui CLI
- Circom compiler
- Clone the repository:
git clone https://github.com/yourusername/ZkSafe.git
cd ZkSafe- Install dependencies:
npm install- Install required global packages:
npm install -g @mysten/sui-cli circom- Start the development server:
npm run dev- Build the project:
npm run buildThe vault contract is written in Move and deployed on Sui blockchain. Key features:
- Vault creation and management
- Zero-knowledge proof verification
- Secure unlocking mechanism
The authentication circuit is implemented in Circom and uses Poseidon hash function for zero-knowledge proof generation.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Sui Blockchain
- Circom
- React + Vite