From f29fdb57c939a74a494e78bcc3a7dbe52b488a33 Mon Sep 17 00:00:00 2001 From: Cedoor Date: Tue, 29 Oct 2024 12:10:09 +0000 Subject: [PATCH 1/2] chore: update semaphore wiki page --- data/projects/semaphore.ts | 47 +++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/data/projects/semaphore.ts b/data/projects/semaphore.ts index cae73dfb..143a3033 100644 --- a/data/projects/semaphore.ts +++ b/data/projects/semaphore.ts @@ -5,11 +5,14 @@ const content: ProjectContent = { tldr: "A zero-knowledge protocol for anonymous interactions.", description: `### Overview -[Semaphore](https://github.com/semaphore-protocol/semaphore/tree/main) is a [zero-knowledge](https://z.cash/learn/what-are-zk-snarks/) protocol that allows you to cast a message (for example, a vote or endorsement) as a provable group member without revealing your identity. Additionally, it provides a simple mechanism to prevent double-signaling. Use cases include private voting, whistleblowing, anonymous DAOs and mixers. +[Semaphore](https://semaphore.pse.dev/) is a generic privacy layer. Leveraging zero-knowledge technology, users can prove their membership in groups and send messages (extending from votes to endorsements) +off-chain or across EVM-compatible blockchains, all without revealing their personal identity. Use cases include private voting, whistleblowing, anonymous DAOs, and mixers. -Semaphore is designed to be a simple and generic privacy layer for decentralized applications (dApps) on Ethereum. It encourages modular application design, allowing dApp developers to choose and customize the on-chain and off-chain components they need. +Semaphore is designed to be a simple and generic privacy layer for decentralized applications (dApps). It encourages modular application design, allowing +dApp developers to choose and customize the on-chain and off-chain components they need. -The core of the protocol is the circuit logic. In addition to circuits, Semaphore provides [Solidity contracts](https://github.com/semaphore-protocol/semaphore/tree/main/packages/contracts) and [JavaScript libraries](https://github.com/semaphore-protocol/semaphore/tree/main#-packages) that allow developers to generate zero-knowledge proofs and verify them with minimal effort. +The core of the protocol is the circuit logic. In addition to circuits, Semaphore provides [Solidity contracts](https://github.com/semaphore-protocol/semaphore/tree/main/packages/contracts) and +[JavaScript libraries](https://github.com/semaphore-protocol/semaphore/tree/main#-packages) that allow developers to generate zero-knowledge proofs and verify them with minimal effort. ### Features @@ -17,13 +20,33 @@ With Semaphore, you can allow your users to do the following: 1. [Create a Semaphore identity](https://docs.semaphore.pse.dev/guides/identities) 2. [Add their Semaphore identity to a group (i.e. Merkle tree)](https://docs.semaphore.pse.dev/guides/groups) -3. [Send a verifiable, anonymous message (e.g., a vote or endorsement)](https://docs.semaphore.pse.dev/guides/proofs) +3. [Send a verifiable, anonymous message (e.g. a vote or endorsement)](https://docs.semaphore.pse.dev/guides/proofs) -When a user broadcasts a message, Semaphore zero-knowledge proofs can ensure that the user has joined the group and hasn't already cast a message with their nullifier. -Semaphore uses on-chain Solidity contracts and off-chain JavaScript libraries that work in tandem. +When a user broadcasts a message, Semaphore zero-knowledge proofs can ensure that the user has joined the group and hasn't already cast a message with a nullifier. -* Off chain, JavaScript libraries can be used to create identities, manage groups, and generate proofs. -* On chain, Solidity contracts can be used to manage groups and verify proofs.`, +### Links + +* Website: https://semaphore.pse.dev +* Documentation: https://docs.semaphore.pse.dev +* Telegram: https://semaphore.pse.dev/telegram +* X (Twitter): https://semaphore.pse.dev/x +* Demo: https://demo.semaphore.pse.dev +* Explorer: https://explorer.semaphore.pse.dev +* Benchmarks: https://benchmarks.semaphore.pse.dev +* Board: https://github.com/orgs/semaphore-protocol/projects/10/views/1 + +### Ways to contribute + +* Submit your idea to PSE's [acceleration program](https://github.com/privacy-scaling-explorations/acceleration-program) (check out this [discussion](https://github.com/orgs/semaphore-protocol/discussions/463) for potential ideas). +* Work on [open issues](https://github.com/semaphore-protocol/semaphore/contribute) +* Suggest new terms for our [glossary](https://semaphore.pse.dev/docs/glossary) ([website-issue](https://github.com/semaphore-protocol/website/issues/new?assignees=&labels=documentation&template=---glossary-term.md&title=)) +* Propose new networks for our [deployed contracts](https://semaphore.pse.dev/docs/deployed-contracts) ([semaphore-issue](https://github.com/semaphore-protocol/semaphore/issues/new?assignees=&labels=&template=----network.md&title=)) +* Suggest new developer tools ([semaphore-issue](https://github.com/semaphore-protocol/semaphore/issues/new?assignees=&labels=feature+%3Arocket%3A&template=---package.md&title=)) +* Share your Semaphore project with us ([semaphore-issue](https://github.com/semaphore-protocol/semaphore/issues/new?assignees=&labels=documentation++%F0%9F%93%96&template=----project.md&title=)) +* Share ideas for new features ([semaphore-issue](https://github.com/semaphore-protocol/semaphore/issues/new?assignees=&labels=feature+%3Arocket%3A&template=---feature.md&title=)) +* Create a report if you find any bugs in the code ([semaphore-issue](https://github.com/semaphore-protocol/semaphore/issues/new?assignees=&labels=bug+%F0%9F%90%9B&template=---bug.md&title=)) + +As a Semaphore contributor, you'll be able to claim a special GitPOAP per year 🏅`, }, } @@ -59,4 +82,12 @@ export const semaphore: ProjectInterface = { types: ["Legos/dev tools", "Lego sets/toolkits", "Infrastructure/protocol"], builtWith: ["zk-kit", "circom", "snarkjs"], }, + extraLinks: { + play: [ + { + label: "Semaphore Demo", + url: "https://demo.semaphore.pse.dev/", + }, + ], + }, } From 5c4a91a61e69137ce3bb38a1f28824d0e9c50d82 Mon Sep 17 00:00:00 2001 From: Cedoor Date: Tue, 29 Oct 2024 18:09:15 +0000 Subject: [PATCH 2/2] docs: update semaphore.ts --- data/projects/semaphore.ts | 41 +++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/data/projects/semaphore.ts b/data/projects/semaphore.ts index 143a3033..0ef9df02 100644 --- a/data/projects/semaphore.ts +++ b/data/projects/semaphore.ts @@ -24,17 +24,6 @@ With Semaphore, you can allow your users to do the following: When a user broadcasts a message, Semaphore zero-knowledge proofs can ensure that the user has joined the group and hasn't already cast a message with a nullifier. -### Links - -* Website: https://semaphore.pse.dev -* Documentation: https://docs.semaphore.pse.dev -* Telegram: https://semaphore.pse.dev/telegram -* X (Twitter): https://semaphore.pse.dev/x -* Demo: https://demo.semaphore.pse.dev -* Explorer: https://explorer.semaphore.pse.dev -* Benchmarks: https://benchmarks.semaphore.pse.dev -* Board: https://github.com/orgs/semaphore-protocol/projects/10/views/1 - ### Ways to contribute * Submit your idea to PSE's [acceleration program](https://github.com/privacy-scaling-explorations/acceleration-program) (check out this [discussion](https://github.com/orgs/semaphore-protocol/discussions/463) for potential ideas). @@ -63,7 +52,7 @@ export const semaphore: ProjectInterface = { github: "https://github.com/semaphore-protocol", website: "https://semaphore.pse.dev/", telegram: "https://semaphore.pse.dev/telegram", - twitter: "https://twitter.com/SemaphoreDevs", + twitter: "https://semaphore.pse.dev/x", }, tags: { keywords: [ @@ -89,5 +78,33 @@ export const semaphore: ProjectInterface = { url: "https://demo.semaphore.pse.dev/", }, ], + buildWith: [ + { + label: "Semaphore CLI (Getting Started)", + url: "https://docs.semaphore.pse.dev/getting-started", + }, + { + label: "Semaphore JS libraries", + url: "https://docs.semaphore.pse.dev/guides/identities", + }, + { + label: "Semaphore Boilerplate", + url: "https://github.com/semaphore-protocol/boilerplate", + }, + ], + learn: [ + { + label: "Semaphore Website", + url: "https://semaphore.pse.dev", + }, + { + label: "Semaphore Documentation", + url: "https://docs.semaphore.pse.dev", + }, + { + label: "Semaphore Board", + url: "https://github.com/orgs/semaphore-protocol/projects/10/views/1", + }, + ], }, }