Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/unirep/unirep

A Zero-Knowledge Protocol for Provable User Data Management
https://github.com/unirep/unirep

blockchain circuit ethereum smart-contracts zkproof

Last synced: 6 days ago
JSON representation

A Zero-Knowledge Protocol for Provable User Data Management

Awesome Lists containing this project

README

        


UniRep Protocol






Github license


Linter eslint


Code style prettier


Circle CI

![UniRep](https://github.com/Unirep/Unirep/assets/16527634/47a8f18b-fc4b-4cc8-99a3-7a6e2a5ce464)


## 💡 About UniRep
**UniRep** is a *private* and *non-repudiable* **data system**. Users can receive attestations from attesters, and voluntarily prove facts about their data without revealing the data itself. Moreover, users cannot refuse to receive attestations from an attester.

## 📘 Documentation

Read the [medium article](https://medium.com/privacy-scaling-explorations/unirep-a-private-and-non-repudiable-reputation-system-7fb5c6478549) to know more about the concept of Unirep protocol.
For more information, refer to the [documentation](https://developer.unirep.io/).

## 📦 Project Structure
-
| Package | Version | Description |
|:--:|:--:|--|
| [`core`](./packages/core/) | NPM version | Unirep protocol related functions. |
| [`contracts`](./packages/contracts/) | NPM version | Unirep smart contracts, ZKP verifiers and contract related functions. |
| [`circuits`](./packages/circuits/) | NPM version | Unirep circom circuits and circuit related functions. |
| [`utils`](./packages/utils) | NPM version | Utils which are used in unirep protocol. |

## 🔋 Requirements

- Intall [rust](https://www.rust-lang.org/tools/install) and [circom 2](https://docs.circom.io/getting-started/installation/)
- Node.js >=16.14

## 🛠 Install and test

- Install

```bash
yarn install
```

- Build with [trusted setup keys](https://ceremony.unirep.io)

```bash
yarn circuits keys && yarn build
```

Or build with phase 1 trusted setup circuits

```bash
yarn build
```

> If you want to contribute to the circuits
> Please run `yarn circuits buildOverwrite` to update keys

- Run test

```bash
yarn test
```

## 🎯 Contributing

Contributions are always welcome! Feel free to open any issue or send a pull request.
Go to [CONTRIBUTING.md](./CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) to learn about how to contribute to Unirep project!

## 🙌🏻 Join our community
- Discord server:
- Twitter account:
- Telegram group:

## Privacy & Scaling Explorations

This project is supported by [Privacy & Scaling Explorations](https://pse.dev/) and the Ethereum Foundation.
See more projects on: https://pse.dev/projects.