Giter VIP home page Giter VIP logo

p0tion's Introduction

๐Ÿงช p0tion ๐Ÿงช

GitHub License GitHub Workflow Test CI Prod Coverage Status Linter ESLint Code style Prettier Repository Top Language

๐Ÿ‘ฅ Contributing ย ย |ย ย  ๐Ÿค Code of conduct ย ย |ย ย  ๐Ÿ”Ž Issues ย ย |ย ย  ๐Ÿ”’ Security ย ย |ย ย  ๐Ÿ—ฃ๏ธ Chat & Support


p0tion has been intentionally designed as an agnostic-from-ceremony public good toolkit, with the aim of making Groth16 zk-applications scale and become production-ready in a safe and secure manner by running Phase 2 Trusted Setup ceremonies.

Our design philosophy ensures that p0tion stands as the optimal choice for running secure Groth16 zk-applications via automated phase2 ceremonies. The entire process has been streamlined through the easy to use and configure infrastructure, simplifying coordination, scalability, and minimizing the burden of conducting ceremonies from scratch. Additionally, our clear and user-friendly documentation and code, as well as rapid onboarding and deployment, guarantee an adaptable tool that can easily accommodate the evolving needs of developers.

๐Ÿ“ฆ Packages

Package Version Downloads
@p0tion/actions NPM version Downloads
@p0tion/backend NPM version Downloads
@p0tion/phase2cli NPM version Downloads

๐Ÿ›  Installation

Clone this repository

git clone https://github.com/privacy-scaling-explorations/p0tion.git

Install the dependencies

cd p0tion && yarn

๐Ÿ“œ Usage

Run Rollup to build all the packages

yarn build

๐Ÿ”Ž Code Quality

Run ESLint to analyze the code and catch bugs

yarn lint

Or to automatically lint the code

yarn lint:fix

Run Prettier to check formatting rules

yarn prettier

Or to automatically format the code

yarn prettier:write

๐Ÿ“ Testing

For test execution (e2e/unit) we leverage Jest.

Local Environment

Prerequisities

  • Node.js version 16.0 or higher.
  • Java JDK version 11 or higher.

The Java JDK is required in order to simulate the Firebase services by using the official Firebase Emulator. Note that the first run will result in a download of ~62 MB and no additional configuration is required.

Run Jest to execute (e2e/unit) tests on the emulator locally

yarn test

Production Environment

Prerequisities

  • A Firebase Application w/ active billing (Blaze Plan) in order to support Cloud Functions deployment.
  • Copy the packages/actions/.env.default file as .env cp .env.default .env and add your environment variables.
  • Copy the packages/backend/.default.env file as .env cp .default.env .env and add your environment variables.
  • Generate and store a configuration file with your service account's credentials as described in this documentation inside the packages/backend/serviceAccountKey.json file.
  • Navigate to the backend package by running cd packages/backend
  • Rename the .firebaserc production project alias with your Firebase project name.
  • Deploy your Firebase Application in production by running yarn firebase:deploy (this may take a while to propagate).

Run Jest to run (e2e/unit) tests in a production environment:

yarn test:prod

โž• Contributions

p0tion uses Conventional Commits. The rules are enforced when running git commit or the command line utility yarn commit.

The commands trigger a verification of changed files to check compliance with custom ESLint and Prettier rules.

License

This repository is released under the MIT License.

p0tion's People

Contributors

ctrlc03 avatar 0xjei avatar baumstern avatar daodesigner avatar sladuca avatar cedoor avatar omahs avatar

Stargazers

appeth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.