A-MACI: My First Web3 Application
A-MACI Dashboard is my first Web3 app, focused on secure cryptographic keypair management with IndexedDB, message signing, and an interactive UX.
What is A-MACI?
A-MACI Dashboard is a Web3 solution for secure cryptographic keypair management, combining strong cryptographic workflow design with a user-friendly interface.
Core Functionalities
- Keypair Management: secure generation, storage, and controlled distribution of key material.
- A-MACI Integration: supports anonymous message-authentication workflows with cryptographic integrity.
- User Experience: interactive UI with animation and responsive behavior.
Functional Features
Keypair Generation & Management
- Generation: secure cryptographic keypair generation.
- Distribution: first three key parts stored in IndexedDB; remaining parts handled through secure server-side storage.
- Status: keypairs tracked as active, discarded, or imported.
Keypair Operations
- Export: export keypairs in JSON format.
- Import: import previously exported keypairs.
- Discard: securely discard keypairs and update status.
Message Signing
Users can sign messages using active private keys for secure cryptographic operations.
Key Splitting & IndexedDB Storage
- Splitting: private key split into five parts.
- IndexedDB: first three parts stored locally for offline accessibility and resilience.
Security Design
- IndexedDB transactions for reliable local storage behavior.
- A-MACI protocol alignment for cryptographic integrity.
- Browser-centric authentication approach where user information remains in the user’s own browser context.
Interactive UI/UX
- Matrix-rain style thematic animation.
- Framer Motion-driven transitions.
- Dark-theme first visual direction for Web3-focused product feel.
Technical Implementation
- Frontend: React.js, Framer Motion, IndexedDB
- Backend/Protocol: A-MACI protocol and custom keypair utilities
- File management: JSON export/import backup and restoration module
How the Tool Works
- Keypair Generation: generate a keypair, split into five parts, store three locally in IndexedDB.
- Managing Keypairs: view, export, discard, or sign messages with active keypairs.
- Signing Messages: sign with selected keypairs.
- Key Security Visibility: inspect key distribution and local availability.
Why This Project Matters to Me
A-MACI was my first full Web3 application and shaped my approach to secure product design, cryptographic workflows, and user-focused developer tooling.
Links
- Submission: DoraHacks — A-MACI
- Demo video: Google Drive demo
- GitHub: kaushalya4s5s7/A-MACI
- Live: a-maci.vercel.app