{"id":25697302,"url":"https://github.com/anon-aadhaar/anon-aadhaar","last_synced_at":"2025-02-25T02:03:33.617Z","repository":{"id":171854525,"uuid":"648251808","full_name":"anon-aadhaar/anon-aadhaar","owner":"anon-aadhaar","description":"Anon Aadhaar is a zero-knowledge protocol that allows Aadhaar ID owners to prove their identity in a privacy preserving way.","archived":false,"fork":false,"pushed_at":"2024-12-12T11:25:05.000Z","size":21393,"stargazers_count":208,"open_issues_count":14,"forks_count":38,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-24T05:50:03.317Z","etag":null,"topics":["aadhaar","pcd","privacy","zk"],"latest_commit_sha":null,"homepage":"https://documentation.anon-aadhaar.pse.dev/docs/intro","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anon-aadhaar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audits/AnonAadhaar_audit_bbdfd9d.pdf","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-01T14:39:10.000Z","updated_at":"2025-02-23T05:01:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"73c6a1c6-92e8-41d6-908a-55a4624cb11c","html_url":"https://github.com/anon-aadhaar/anon-aadhaar","commit_stats":null,"previous_names":["privacy-scaling-explorations/anon-aadhaar","anon-aadhaar/anon-aadhaar"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon-aadhaar%2Fanon-aadhaar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon-aadhaar%2Fanon-aadhaar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon-aadhaar%2Fanon-aadhaar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon-aadhaar%2Fanon-aadhaar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anon-aadhaar","download_url":"https://codeload.github.com/anon-aadhaar/anon-aadhaar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240587474,"owners_count":19825005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aadhaar","pcd","privacy","zk"],"created_at":"2025-02-25T02:01:59.337Z","updated_at":"2025-02-25T02:03:33.610Z","avatar_url":"https://github.com/anon-aadhaar.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Anon Aadhaar\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/privacy-scaling-explorations/anon-aadhaar/assets/67648863/b29d784b-610a-4222-8fa5-4a2972e492fd\" width=\"300\"\u003e\n\u003c/p\u003e\n\nAnon Aadhaar is a protocol for proving ownership of an Aadhaar identity (Indian Residence ID) in a privacy-preserving manner. It lets users generate a ZK proof of their identity by only revealing the information they want to share (to an application).\n\nDevelopers can use the AnonAadhaar SDK to integrate this into their applications to verify the identity of users without asking them to reveal more personal data than necessary. The proof generated can also be verified on EVM-based blockchains making Anon Aadhaar suitable for on-chain applications.\n\nDemo App: [Anon Aadhaar Example](https://boilerplate.anon-aadhaar.pse.dev/)  |  [Source](https://github.com/anon-aadhaar-private/boilerplate)\n\nDocumentation: [Anon Aadhaar Documentation](https://documentation.anon-aadhaar.pse.dev/docs/intro)\n\n\u003cbr /\u003e \n\n\n## How it works\nAadhaar data is signed by the government. Anon Aadhaar uses [zero-knowledge](https://en.wikipedia.org/wiki/Zero-knowledge_proof) circuits to verify this signature and generate proof of it. \n\nA \"verifier\" (an app or a smart contract) verifying the proof can be sure the \"prover\" had a valid Aadhaar containing the information (like age, state, gender) they revealed.\n\nAnon Aadhaar works on the client side (browser, mobile app) and does not require the user to send their Aadhaar details to any server. [Read more](https://documentation.anon-aadhaar.pse.dev/docs/how-does-it-work)\n\n\u003cbr /\u003e \n\n## 📦 Packages\n\nThis repo contains the core ZK circuits of Anon Aadhaar and JS/React SDKs for developers to integrate into their applications. \n\nThe following packages are available, and published to npm:\n\n- [@anon-aadhaar/circuits](packages/circuits/) - ZK circuits of Anon Aadhaar written in circom\n- [@anon-aadhaar/contracts](packages/contracts/) - Solidity contracts to verify Anon Aadhaar proofs\n- [@anon-aadhaar/core](packages/core/) - JS SDK to generate and verify Anon Aadhaar proofs\n- [@anon-aadhaar/react](packages/react/) - React SDK including UI components to integrate Anon Aadhaar into React applications\n\nTo build on top of Anon Aadhaar, read out documentation [here](https://documentation.anon-aadhaar.pse.dev/docs/intro) and check out the [boilerplate repo](https://github.com/anon-aadhaar/boilerplate) (Next.js)\n\n\u003cbr /\u003e\n\n## Building and Running locally\n\nBelow steps are for building Anon Aadhaar circuits locally and generating proof with it.\n\nFor production, always use the published npm packages.\n\n#### Requirements:\n\n- Node JS (v18 or higher)\n- Yarn\n\n#### Install dependencies\n\n```\nyarn install\n```\n\n#### Build libraries\n\n```sh\nyarn build:libraries\n```\n\n#### Build circuit and generate zkey\n\n```sh\n# PWD = packages/circuits\n\nyarn dev-install\nyarn build-circuit\nyarn dev-setup\n```\n\nThis will generate the `build` folder with the compiled circuit and artifacts. The generated `zkey` is only meant for testing and should not be used in production.\n\n⚠️ This will take a couple of minutes to finish.\n\n#### Generate test data\n\n```sh\n# PWD = packages/circuits\n\nyarn gen-test-data\n```\n\nThis will generate dummy Aadhaar data and save it to `packages/circuits/assets/test.json`\n\nThe generated test data is verified using a test public/private key pair.\n\nYou can also use your real Aadhaar by setting env `REAL_DATA=true` and `QR_DATA=\u003cQR_DATA\u003e` (the large number in the Aadhaar QR code) in the `gen-proof` script in the next section.\n\n#### Generate Witness and proof\n```sh\n# PWD = packages/circuits\n\nyarn gen-witness\nyarn gen-proof\n```\n\nThis will generate and save the proof to `packages/circuits/build/proofs/proof.json` and the public signals to `packages/circuits/build/proofs/public.json`\n\n\n#### Verify the proof\n```sh\nyarn verif-proof\n```\nThis will verify the generated proof and print the result to the console.\n\n#### Verify on-chain\n\nYou can also generate the solidity verifier contract using `yarn gen-contracts` and deploy it to a blockchain to verify the proof on-chain. You can use [this](https://github.com/anon-aadhaar/anon-aadhaar/blob/main/packages/core/src/utils.ts#L47) method to convert the generated proof to a format that can be used in the contract.\n\n\u003cbr /\u003e\n\n## Contributing\n\nContributions with fixes and general improvements are always welcome. Please check the [PR template](.github/PULL_REQUEST_TEMPLATE.md)\n\nNew features are currently being developed internally, but if you would like to work on any open issues, please comment on them and it will be assigned to you if possible.\n\n\n\u003cbr /\u003e\n\n## Our Community\n\n- PSE Discord server: \u003ca href=\"https://discord.com/invite/sF5CT5rzrR\"\u003e\u003cimg src=\"https://img.shields.io/badge/discord-pse-blue\"\u003e\u003c/a\u003e\n- Twitter account: \u003ca href=\"https://twitter.com/AnonAadhaar\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/Anon_Aadhaar?style=flat-square\u0026logo=twitter\"\u003e\u003c/a\u003e\n- Telegram group: \u003ca href=\"https://t.me/anon_aadhaar\"\u003e\u003cimg src=\"https://img.shields.io/badge/telegram-@anon_aadhaar-blue.svg?style=flat-square\u0026logo=telegram\"\u003e\u003c/a\u003e\n\nPlease join our Telegram group to receive updates, ask questions, get support with integration, etc.\n\n\u003cbr /\u003e\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanon-aadhaar%2Fanon-aadhaar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanon-aadhaar%2Fanon-aadhaar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanon-aadhaar%2Fanon-aadhaar/lists"}