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.
Package | Version | Downloads |
---|---|---|
@p0tion/actions | ||
@p0tion/backend | ||
@p0tion/phase2cli |
Clone this repository
git clone https://github.com/privacy-scaling-explorations/p0tion.git
Install the dependencies
cd p0tion && yarn
Run Rollup to build all the packages
yarn build
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
For test execution (e2e/unit) we leverage Jest.
Prerequisites
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
Prerequisites
packages/actions/.env.default
file as .env
cp .env.default .env
and add your environment variables.packages/backend/.default.env
file as .env
cp .default.env .env
and add your environment variables.packages/backend/serviceAccountKey.json
file.cd packages/backend
.firebaserc
production project alias with your Firebase project name.yarn firebase:deploy
(this may take a while to propagate).Run Jest to run (e2e/unit) tests in a production environment:
yarn test:prod
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.
This repository is released under the MIT License.