Void is a decentralized application (dApp) designed to revolutionize identity verification and fetching realtime details through ID's. In scenarios like hotel check-ins, where you typically submit your Aadhaar card containing sensitive personal information, Void allows you to prove your identity without revealing unnecessary details. Our platform encrypts and decrypts documents in a way that only the required, filtered information is revealed, ensuring your privacy. Deployed at https://knowme-zc44.onrender.com/
The application leverages Polygon for smart contracts Anonaadhar for Aadhaar verification TheGraph for querying blockchain data The result is a seamless experience where the user simply uploads a document and selects the details to reveal. All the verification, authorization, and contract deployment happens instantly, ensuring user privacy. Additionally, authorities can perform real-time monitoring in tourist areas through graph queries for any discrepancies. Refer this video for the complete working of the project https://youtu.be/XmjFi2pTq4s
- Document Upload: Upload your Aadhaar or other documents for verification.
- Verification: Authenticate your Aadhaar details using Anonaadhar.
- Dashboard: Filter the information you wish to share.
- QR Code Generation: Generate a QR code with the selected details for easy sharing.
- React & Node.js: Frontend and backend development.
- Polygon: Blockchain network for smart contracts.
- Anonaadhar: Aadhaar verification API.
- TheGraph: Blockchain data querying tool.
To view the current existing contract address visit Polygon Amoy Testnet
Watch the video to understand the integration of The Graph in the project TheGraph
Before you begin, ensure you have the following:
- Node.js and npm installed.
- A MetaMask wallet configured with the Polygon Amoy network.
- An Anonaadhar API key.
- A valid Aadhaar document or equivalent for testing.
- Access to Thegraph for querying
-
Clone the repository:
git clone https://github.com/Knowmyid/void.git
-
Navigate to the
clientdirectory and install the dependencies:cd void/client npm install -
Navigate to the
serverdirectory and install the dependencies:cd ../server npm install -
Create a
.envfile in theserverdirectory and add the following:CONTRACT_ADDRESS=your_contract_address POLYGON_RPC_URL=your_polygon_rpc_url PRIVATE_KEY=your_private_key JWT_SECRET=your_jwt_secret ENCRYPTION_KEY=your_encryption_key
-
Navigate to the
contractsdirectory and install the dependencies:cd ../contracts npm install -
Create a
.envfile in thecontractsdirectory and add the following:CONTRACT_ADDRESS=your_contract_address POLYGON_RPC_URL=your_polygon_rpc_url PRIVATE_KEY=your_private_key
-
Start the client:
cd ../client npm run dev -
Start the server:
cd ../server nodemon index -
Upload Document: On the dashboard, upload your Aadhaar or another document.
-
Verification: The document is verified using Anonaadhar. If valid, you are authenticated.
-
Filter Details: Select the details you want to share using the dashboard.
-
Generate QR Code: A QR code is generated with the selected details.
To deploy Void on a live environment:
-
Build the project:
npm run build
-
Deploy to a hosting service like Vercel, Netlify, or directly on IPFS.
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch. - Make your changes.
- Commit your changes:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature-branch. - Create a Pull Request.
To view all the concepts and links related to the project visit https://devfolio.co/projects/void-verification-and-optimization-of-ids-8c1e
Thank you for using Void! Your privacy is our priority.