Unirep Social

Github license Linter eslint Code style prettier Circle CI

## 💡 About Unirep Social **UniRep Social** is a social media that is built upon the [Unirep Protocol](https://github.com/Unirep/Unirep). The users of Unirep Social can publish posts, leave comments anonymously, and also give boost/squash to other users anonymously. User can also prove how much reputation he has when posting/commenting. ## 🔋 Requirements - Intall [rust](https://www.rust-lang.org/tools/install) and [circom 2](https://docs.circom.io/getting-started/installation/) - Node.js >=16.14 ## 🛠 Installation Install and build ```bash yarn & yarn build ``` ## 👷 Run Unirep Social in local ### 1. Start a blockchain environment ```sh cd packages/core && npx hardhat node ``` ### 2. Deploy Unirep and Unirep Social smart contracts in new terminal window, from root: ```sh yarn core deploy --network local ``` ### 3 Start a relayer (backend) Copy the [.env.example](https://github.com/Unirep/Unirep-Social/blob/main/packages/backend/.env.example) file to an `.env` file in `packages/backend` Then grant permission from [X (Twitter) Oauth](https://developer.twitter.com/en/products/twitter-api) and [Github Oauth](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Set the authentication settings as following: | X (Twitter) | | |--|--| |**App permissions** | Read | |**Type of App** | Native App | |**Callback URL/Redirect URL** | `http://127.0.0.1:3001/api/oauth/twitter/callback` | | Github | | |--|--| |**Callback URL/Redirect URL** | `http://127.0.0.1:3001/api/oauth/github/callback` | in new terminal window, from root: ```sh yarn backend start ``` ### 4. Start a frontend in new terminal window, from root: ```sh yarn frontend start ``` It will be running at: http://127.0.0.1:3000/ by default. ## 🌈 Lint ### Format the code ```sh yarn lint:fix ``` ### Check if the code is formatted ```sh yarn lint:check ``` ## 🎯 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/) in Ethereum Foundation. See more projects on: https://pse.dev/projects.