A privacy-focused identity verification system built on Solana blockchain, utilizing Zero-Knowledge Proofs for secure wallet and email authentication.
-
🔐 Zero-Knowledge Proof System
- Secure wallet address verification
- Private email verification
- Proof generation and verification
- Key management system
-
🌐 Authentication System
- JWT-based authentication
- Dual verification (wallet + email)
- Nonce-based signature verification
- Identity linking capabilities
-
🔧 Core Features
- RESTful API endpoints
- PostgreSQL database integration
- Actix-web framework
- Health check monitoring
- POST
/auth/wallet/prove
- Generate ZK proof for wallet - POST
/auth/wallet/verify
- Verify wallet ZK proof - POST
/auth/email/prove
- Generate ZK proof for email - POST
/auth/email/verify
- Verify email ZK proof
- GET
/health
- Check API health status
Create a .env
file with:
DATABASE_URL=postgresql://username:password@localhost/soulana_db
RUST_LOG=debug
- 🦀 Rust (Backend)
- 🎁 Actix-web (Web Framework)
- 🔐 ark-groth16 (ZK Proof System)
- 🗄️ PostgreSQL (Database)
- 🔗 Solana (Blockchain Integration)
cargo run
The server will start at http://127.0.0.1:8080
- Install diesel_cli:
cargo install diesel_cli --no-default-features --features postgres
- Set up the database:
diesel setup
- Run migrations:
diesel migration run
This will create all necessary tables including:
- Identity tables for wallet and email verification
- User management tables
- Project related tables