From 22f6b7391f3f0039477e94288c7ec5c1933849bc Mon Sep 17 00:00:00 2001 From: joaolago1113 <22820692+joaolago1113@users.noreply.github.com> Date: Sat, 12 Oct 2024 19:42:38 +0100 Subject: [PATCH 1/2] proof-of-builder --- Proof-of-Builder/README.md | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Proof-of-Builder/README.md diff --git a/Proof-of-Builder/README.md b/Proof-of-Builder/README.md new file mode 100644 index 000000000..0640676bd --- /dev/null +++ b/Proof-of-Builder/README.md @@ -0,0 +1,66 @@ +# Anonymous Proof of Builder Status via GitHub Contributions + +**Description:** + +This projects enables developers to prove their builder status, verifying their contributions to various GitHub repositories, without showing their GitHub username or any other personal information. Thanks to **zkEmail** and the privacy enabled by the **Aztec**, it's possible to create zero-knowledge proofs using emails notifications from GitHub, for example, commit confirmations or pull request merges which in turn, would enable developers to claim airdrops or access exclusive events or perks on a completely anonymous basis using just their github contributions. + +## Challenge Selection + +- [x] ZKEmail Guardian +- [ ] Social Cipher + +**Note**: You can change which challenges you've selected during the competition if you'd like. You are not bound by your choices or descriptions entered during the one-week check-in. + +## Team Information + +- **Author:** @joaolago1113 +- **Role:** Solo Developer + +## Technical Approach + +- **High-Level Outline of Main Components:** + + 1. **zkEmail Integration:** + - **Email Verification:** + - Receive GitHub emails, such as commit confirmations or pull request merges. + - Verify that it is indeed a valid email from GitHub. + - **Zero-Knowledge Proof Generation:** + - Creating of proof that actually attests a user contributed to any particular repository. + + 2. **Regex Parsing of Email Content:** + - **Extract Relevant Information:** + - Employ zkRegex parsing the email body and extract commit hashes, repository names, or contribution details. + - **Custom Circuits:** + - Implement custom circuits to handle the peculiar patterns of GitHub emails. + + 3. **Smart Contracts on Aztec Network:** + - **Proof Verification Contract:** + - A smart contract should be developed for verification of zero-knowledge proofs created by users. + - **Airdrop Contract:** + - A smart contract for giving out the airdrop. + + 4. **User Interface:** + - **Frontend Application:** + - Front-end web interface or integrate into existing wallet UI to have user upload emails and generate proofs. + +- **Specific Aztec Tools or Features Used:** + - **Aztec Tools:** Nargo, Sandbox, etc... + - **ZK Email ecosystem** + +## Expected Outcomes + +A working application that allows developers to anonymously prove their GitHub contributions and claim airdrops or rewards. + +## Lessons Learned (For Submission) + +- What are the most important takeaways from your project? +- Are there any patterns or best practices that you've learned that would be useful for other projects? +- Highlight reusable code patterns, key code snippets, and best practices - what are some of the ‘lego bricks’ you’ve built, and how could someone else best use them? + +## Project Links (For Submission) + +Please provide links to any relevant documentation, code, or other resources that you've used in your project. + +## Video Demo (For Submission) + +Please provide a link to a video demo of your project. The demo should be no longer than 5 minutes and should include a brief intro to your team and your project. From 22df858e685eec4ead218189f43f777a7e178c65 Mon Sep 17 00:00:00 2001 From: joaolago1113 <22820692+joaolago1113@users.noreply.github.com> Date: Sat, 12 Oct 2024 19:44:53 +0100 Subject: [PATCH 2/2] proof-of-builder --- Proof-of-Builder/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Proof-of-Builder/README.md b/Proof-of-Builder/README.md index 0640676bd..f5cb88c0c 100644 --- a/Proof-of-Builder/README.md +++ b/Proof-of-Builder/README.md @@ -22,7 +22,7 @@ This projects enables developers to prove their builder status, verifying their 1. **zkEmail Integration:** - **Email Verification:** - - Receive GitHub emails, such as commit confirmations or pull request merges. + - Review GitHub emails, such as commit confirmations or pull request merges. - Verify that it is indeed a valid email from GitHub. - **Zero-Knowledge Proof Generation:** - Creating of proof that actually attests a user contributed to any particular repository.