{"id":30596347,"url":"https://github.com/0xmalaz/hollowdb-next-auth","last_synced_at":"2026-06-22T19:31:23.906Z","repository":{"id":166356543,"uuid":"641841972","full_name":"0xMalaz/hollowdb-next-auth","owner":"0xMalaz","description":"A demo web-app for storing profiles using HollowDB","archived":false,"fork":false,"pushed_at":"2023-05-19T10:08:02.000Z","size":1268,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-13T03:39:30.169Z","etag":null,"topics":["arweave","arweave-blockchain","authentication","hollowdb","nextjs","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://hollowdb-next-auth.vercel.app","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/0xMalaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-17T09:23:17.000Z","updated_at":"2023-07-05T11:32:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"75dbccda-90e7-4882-a175-5556b69736fc","html_url":"https://github.com/0xMalaz/hollowdb-next-auth","commit_stats":null,"previous_names":["0xmalaz/hollowdb-next-auth","merdoyovski/hollowdb-next-auth"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xMalaz/hollowdb-next-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xMalaz%2Fhollowdb-next-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xMalaz%2Fhollowdb-next-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xMalaz%2Fhollowdb-next-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xMalaz%2Fhollowdb-next-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xMalaz","download_url":"https://codeload.github.com/0xMalaz/hollowdb-next-auth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xMalaz%2Fhollowdb-next-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34663522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["arweave","arweave-blockchain","authentication","hollowdb","nextjs","zero-knowledge"],"created_at":"2025-08-29T21:42:21.275Z","updated_at":"2026-06-22T19:31:23.885Z","avatar_url":"https://github.com/0xMalaz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://dcbadge.vercel.app/api/server/2wuU9ym6fq?style=flat)](https://discord.gg/2wuU9ym6fq)\n\n# Anonymous Authentication Demo using HollowDB\n\nThis is a demo web-app for demonstrating how HollowDB can be used for storing profiles on-chain without revealing any information about your wallet address and have the complete control over the data.\n\n## Purpose\n\nThis demo tries to highlight 2 key points of HollowDB and provides an example code base to get started with HollowDB and generating zk-proofs in browser.\n\n### Untrackable\n\nEach key in the key-value pair represents a hashed signature of a specific message. This hashed signature is untraceable, meaning it is impossible to identify them, ensuring that users can maintain their anonymity while storing their data.\n\nAnonimity of the transaction is achieved through using another wallet to do the transaction. This demo uses a server with a wallet to execute the given transactions\n\nHere is a [transaction](https://sonar.warp.cc/#/app/interaction/H9d1ORbrpyeUTqQGD3U-gBWcbLSlYRDyks8xGoXwwNw) I've created earlier, check it out yourself and try to find any connection to my address.\n\n### Unchangable\n\nThe hashed signature also has a crucial role in data management. Because the key is tied to a specific hashed signature, only the original signer, who holds the private key, can update the information. This is achieved by generating a zk-proof because a valid proof requires the pre-image of the hashed signature.\n\nThis mechanism provides users with exclusive control over their on-chain data, ensuring that they can manage their presence securely and independently.\n\nThis means you cannot change a value put with someone else's key. There is a **Can't be Changed** section on the frontend, it has a input box for you to try and change an existing key by inputting the pre-image of the key. Best of luck!\n\n## Prerequisites\n\nThe following must be provided to the express server:\n\n- A HollowDB contract tx address\n  - Clone the [HollowDB repo](https://github.com/firstbatchxyz/hollowdb) and deploy a contract. Refer to the [HollowDB docs](https://docs.hollowdb.xyz) for more information\n  - Alternatively, here is a contract address if you don't want to deploy it yourself: `Dh2aTDs1BV-d-8KYNoK_hil0D25_nTe7-1M1Uvh2wTg `\n- A JWK wallet to sign the transactions\n  - You can create/retrieve a JWK file from [Arweave Wallet](https://arweave.app/)\n\n## Project setup\n\n1. Clone the repo recursively, this repo contains the express server as a submodule\n\n```sh\ngit clone git@github.com:merdoyovski/hollowdb-next-auth.git --recursive\n```\n\n### Frontend\n\n2. Run the frontend\n\n```sh\ncd hollowdb-next-auth\n\nyarn\n\nyarn dev\n```\n\n### Backend\n\n3. Open a new terminal and install the dependencies for the backend\n\n```sh\ncd hollowdb-next-auth/hollowdb-express\n\nyarn\n```\n\n4. Place a wallet\n\nA wallet must be provided for backend server to sign the transactions.\n\nRename your wallet to `wallet.json` and place your it to the following directory `hollowdb-next-auth/hollowdb-express/src/secrets`\n\n5. Start the backend Server\n\nRefer to the Prerequisites section for the \u003ccontract-address\u003e\n\n```sh\nyarn start \u003ccontract-address\u003e\n```\n\n## Help\n\nIf you have any questions related to this demo or HollowDB, join our [Discord](https://discord.gg/2wuU9ym6fq) channel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xmalaz%2Fhollowdb-next-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xmalaz%2Fhollowdb-next-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xmalaz%2Fhollowdb-next-auth/lists"}