diff --git a/components/icons.tsx b/components/icons.tsx index f14dd88e..76dfbe45 100644 --- a/components/icons.tsx +++ b/components/icons.tsx @@ -48,7 +48,7 @@ export const Icons = { ), diff --git a/data/projects.ts b/data/projects.ts index 92598bfc..ed246cca 100644 --- a/data/projects.ts +++ b/data/projects.ts @@ -7,12 +7,16 @@ import { anonAadhaar } from "./projects/anon-aadhaar" import { anonKlub } from "./projects/anon-klub" import { bandada } from "./projects/bandada" import { channel4 } from "./projects/channel-4" +import { Coco } from "./projects/coco" import { cryptkeeper } from "./projects/cryptkeeper" import { discreetly } from "./projects/discreetly" import { dslWorkingGroup } from "./projects/dsl-working-group" +import { ECIPHalo2 } from "./projects/ecip-halo2" import { eigenTrust } from "./projects/eigen-trust" +import { Interep } from "./projects/interep" import { maci } from "./projects/maci" import { pollenLabs } from "./projects/pollen-labs" +import { PerpetualPowersOfTau } from './projects/powers-of-tau' import { pseSecurity } from "./projects/pse-security" import { rln } from "./projects/rln" import { semaphore } from "./projects/semaphore" @@ -21,10 +25,12 @@ import { tlsn } from "./projects/tlsn" import { trustedSetups } from "./projects/trusted-setups" import { unirepProtocol } from "./projects/unirep-protocol" import { wax } from "./projects/wax" +import { ZKKit } from "./projects/zk-kit" import { zk3 } from "./projects/zk3" import { zkevmCommunity } from "./projects/zkevm-community" import { zkitter } from "./projects/zkitter" import { zkml } from "./projects/zkml" +import { Zkopru } from "./projects/zkopru" import { zkp2p } from "./projects/zkp2p" export const ProjectLinkIconMap: ProjectLinkType = { @@ -60,4 +66,10 @@ export const projects: ProjectInterface[] = [ pollenLabs, unirepProtocol, zkp2p, + PerpetualPowersOfTau, + ECIPHalo2, + Coco, + Interep, + Zkopru, + ZKKit ] diff --git a/data/projects/README.md b/data/projects/README.md index 7add7b7f..c82776d6 100644 --- a/data/projects/README.md +++ b/data/projects/README.md @@ -48,8 +48,14 @@ export const example: ProjectInterface = { id: "example", image: "", name: "This is an example of the project", + tldr: 'The project one-liner', + description: 'A longer project description', + projectStatus: '', tags: { themes: ["play", "buildWith"], + keywords: ["Anonymity/privacy", "Voting/governance"], + types: ["Lego sets/toolkits", "Infrastructure/protocol"], + builtWith: ["p0tion", "JubjubLib"], }, extraLinks: { buildWith: [ diff --git a/data/projects/coco.ts b/data/projects/coco.ts new file mode 100644 index 00000000..f75a2a81 --- /dev/null +++ b/data/projects/coco.ts @@ -0,0 +1,31 @@ +import { ProjectInterface } from "@/lib/types"; + +export const Coco: ProjectInterface = { + id: "coco", + image: "coco.svg", + name: "COCO", + tldr: "Integrating Nova into the EVM involves wrapping Liam Eagen's theoretical ECIP argument in Halo 2", + description: "With Coco, groups can collaborate to curate feeds of any topic they're interested in. As you scroll through your Coco feed, rather than upvoting or downvoting posts, you'll spend WETH to predict what other group members and the group's moderators will want to see. When you're right, you'll get back your original WETH and more — but if you're wrong, you'll lose what you put in. Through this process, you help Coco filter value from noise to make sure group feeds only consist of posts that the group cares about.", + projectStatus: 'archived', + tags: { + keywords: ['prediction market', 'scaling'] + }, + extraLinks: { + learn:[{ + label: 'Meet COCO!', + url: 'https://mirror.xyz/privacy-scaling-explorations.eth/tEf7iYa8l7ECZwN2T57yyiws7h9Uchip30CQvx-JBBQ' + }], + buildWith: [{ + label: 'Smart contracts', + url: 'https://github.com/Janmajayamall/coco-contracts' + }, + { + label: 'Frontend', + url: 'https://github.com/Janmajayamall/coco-frontend' + }, + { + label: 'Frontend (General)', + url: 'https://github.com/Janmajayamall/coco-frontend-general' + }], + }, +} diff --git a/data/projects/ecip-halo2.ts b/data/projects/ecip-halo2.ts new file mode 100644 index 00000000..47974d96 --- /dev/null +++ b/data/projects/ecip-halo2.ts @@ -0,0 +1,24 @@ +import { ProjectInterface } from "@/lib/types"; + +export const ECIPHalo2: ProjectInterface = { + id: "ecip-halo2", + image: "", + name: "ECIP (Elliptic Curve Inner Products) Halo 2 Implementation", + tldr: "Integrating Nova into the EVM involves wrapping Liam Eagen's theoretical ECIP argument in Halo 2", + description: `Liam Eagen has developed a ZK proof for Elliptic Curve Inner Products (ECIPs) to overcome a significant bottle neck in recursive proof composition over elliptic curve cycles. The p1rocess of integrating Nova into the EVM requires an efficient method or "argument" for handling large elliptic Multi-Scalar Multiplications (MSMs). The final step in this integration process involves wrapping this argument Halo 2.`, + projectStatus: 'active', + links: { + github: 'https://github.com/levs57/sage-circuits/', + website: 'https://perpetualpowersoftau.com/' + }, + extraLinks: { + learn: [{ + label: "Designing a plonk circuit for Liam Eagen's protocol", + url: 'https://hackmd.io/@levs57/r1n77YvP3' + }, + { + label: 'ZKPs of Elliptic Curve Inner Products from Principal Divisors and Weil Reciprocity', + url: 'https://eprint.iacr.org/2022/596' + }], + }, +} diff --git a/data/projects/interep.ts b/data/projects/interep.ts new file mode 100644 index 00000000..f02debea --- /dev/null +++ b/data/projects/interep.ts @@ -0,0 +1,24 @@ +import { ProjectInterface } from "@/lib/types"; + +export const Interep: ProjectInterface = { + id: "interep", + image: "interep.svg", + name: "Interep", + tldr: "An identity bridge from web2 to web3", + description: "Interep aims to provide an identity solution for Ethereum users by bridging from an established digital identity source such as Reddit, Twitter, and Github. The product provides an identity layer in the application stack and uses the Semaphore framework to ensure privacy. Interep allows users to establish sybil-resistant decentralized identities on web3 without starting from scratch. By leveraging zero-knowledge proofs, Interep ensures only essential information is disclosed.", + projectStatus: 'archived', + tags:{ + keywords: ['social', 'reputation'] + }, + links: { + website: 'https://docs.interep.link/', + github: 'https://github.com/interep-project', + youtube: 'https://www.youtube.com/watch?v=dYKgHkb_aqk', + }, + extraLinks: { + learn: [{ + label: 'Interep: An on-ramp for reputation', + url: 'https://mirror.xyz/privacy-scaling-explorations.eth/w7zCHj0xoxIfhoJIxI-ZeYIXwvNatP1t4w0TsqSIBe4' + }], + }, +} diff --git a/data/projects/powers-of-tau.ts b/data/projects/powers-of-tau.ts new file mode 100644 index 00000000..026de83e --- /dev/null +++ b/data/projects/powers-of-tau.ts @@ -0,0 +1,23 @@ +import { ProjectInterface } from "@/lib/types"; + +export const PerpetualPowersOfTau: ProjectInterface = { + id: "perpetual-powers-of-tau", + image: "", + name: "Perpetual Powers of Tau", + tldr: 'An ongoing (since 2019) zk-SNARK trusted setup ceremony for circuits up to 2^28 constraints.', + description: "The Perpetual Powers of Tau is a multi-party trusted setup ceremony, rooted in the Zcash Powers of Tau. Its primary objective is the secure generation of zk-SNARK parameters for circuits accommodating up to 2^28 (260+ million) constraints. This translates to the creation of over 530 million powers of tau. The ceremony's integrity hinges on the principle that as long as one participant acts honestly and remains uncompromised, the entire setup remains trustworthy. It's a pivotal step for zk-SNARK projects, ensuring the security and privacy of the system. Those who can handle a 100Gb download and many hours of compute time are invited to join by contacting [@glamperd on Twitter](https://twitter.com/glamperd) or Telegram, or asking questions via the PSE [Discord](https://discord.com/invite/sF5CT5rzrR).", + projectStatus: 'active', + tags: { + keywords: ['scaling'] + }, + links: { + github: 'https://github.com/privacy-scaling-explorations/perpetualpowersoftau', + website: 'https://perpetualpowersoftau.com/' + }, + extraLinks: { + learn: [{ + label: 'Announcing the Perpetual Powers of Tau Ceremony', + url: 'https://medium.com/coinmonks/announcing-the-perpetual-powers-of-tau-ceremony-to-benefit-all-zk-snark-projects-c3da86af8377' + }], + }, +} diff --git a/data/projects/zk-kit.ts b/data/projects/zk-kit.ts new file mode 100644 index 00000000..b497b38b --- /dev/null +++ b/data/projects/zk-kit.ts @@ -0,0 +1,16 @@ +import { ProjectInterface } from "@/lib/types"; + +export const ZKKit: ProjectInterface = { + id: "zk-kit", + image: "zk-kit.svg", + name: "ZK Kit", + tldr: "A comprehensive monorepo of JS libraries for zero-knowledge technologies.", + description: "Designed to streamline the development process, it provides a set of NPM modules, including algorithms and utility functions, that can be integrated into various projects and zero-knowledge protocols. The toolkit is equipped with features like Yarn workspaces for package management, Conventional Commits for meaningful commit messages, Jest for testing, and Typedocs for TypeScript documentation. Developers can leverage these tools to ensure code quality, testing, and documentation without the overhead of setup.", + projectStatus: 'archived', + links: { + github: 'https://github.com/privacy-scaling-explorations/zk-kit', + }, + tags: { + keywords: ['anonymity'] + } +} diff --git a/data/projects/zkopru.ts b/data/projects/zkopru.ts new file mode 100644 index 00000000..7e212c70 --- /dev/null +++ b/data/projects/zkopru.ts @@ -0,0 +1,27 @@ +import { ProjectInterface } from "@/lib/types"; + +export const Zkopru: ProjectInterface = { + id: "zkopru", + image: "zkopru.svg", + name: "ZKOPRU", + tldr: "Optimistic Rollup with zk-SNARKs for private Ethereum transactions.", + description: "ZKOPRU is one of the initial projects of EF's PSE team. It is a Layer 2 scaling solution for Ethereum, emphasizing private transactions through zk-SNARKs and optimistic rollups. It provides an economical Ethereum privacy wallet, enabling users to transact with ETH, ERC-20s, and NFTs anonymously", + projectStatus: 'archived', + links: { + website: 'https://zkopru.network/', + github: 'https://github.com/zkopru-network', + youtube: 'https://www.youtube.com/watch?v=GvRsJxu9X6w', + }, + extraLinks: { + learn: [{ + label: 'ZKOPRU: Wat, Y & Wen', + url: 'https://mirror.xyz/privacy-scaling-explorations.eth/kfuuBPtGtDjl_J2wBq-jrtyURGLmQpUhZfDTuZChEy8' + }, { + label: "ZKOPRU on Testnet", + url: 'https://mirror.xyz/privacy-scaling-explorations.eth/EB0KcMY0k9ucN8iQSBeOYksoupDYRBQ4ZffhRt477FE' + }], + }, + tags: { + keywords: ['anonymity', 'private transactions'] + } +} diff --git a/public/project-banners/coco.svg b/public/project-banners/coco.svg new file mode 100644 index 00000000..0e9656cf --- /dev/null +++ b/public/project-banners/coco.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/project-banners/interep.svg b/public/project-banners/interep.svg new file mode 100644 index 00000000..61ac014d --- /dev/null +++ b/public/project-banners/interep.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/project-banners/unirep.svg b/public/project-banners/unirep.svg index 44c8744f..20959d04 100644 --- a/public/project-banners/unirep.svg +++ b/public/project-banners/unirep.svg @@ -10,8 +10,8 @@ - - + + diff --git a/public/project-banners/zk-kit.svg b/public/project-banners/zk-kit.svg new file mode 100644 index 00000000..049d2cff --- /dev/null +++ b/public/project-banners/zk-kit.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/project-banners/zkopru.svg b/public/project-banners/zkopru.svg new file mode 100644 index 00000000..f7607ff7 --- /dev/null +++ b/public/project-banners/zkopru.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +