README.md
February 4, 2025 ยท View on GitHub
MPC CLI
A set of CLIs for creating Multi-Party Computation (MPC) web projects with ease.
๐ฅ Contributing ย ย |ย ย ๐ค Code of conduct ย ย |ย ย ๐ Issues
MPC-CLI provides a set of interactive command-line tools that simplifies the development of multi-party computation (MPC) web applications with modern web development frameworks (e.g. Next.js, Vite). MPC-CLI is powered by mpc-framework and summon-ts. |
|---|
CLI Usage
Create
A streamlined tool for creating Multi-Party Computation (MPC) projects with ease.
npm create @mpc-cli
cd <your-app>
npm install
npm run dev
The following templates are currently supported:
- MPC Hello with Vite (client-client)
- MPC Hello with Vite (client-server)
- MPC Hello with Vite (server-server)
- MPC Hello with NextJS (client-client)
- Rock Paper Shissors Lizard Spock (client-client)
- 2PC is for lovers (client-client)
Summon
A streamlined CLI to compile Summon circuits.
npx @mpc-cli/summon main.ts
Or:
npm i -g @mpc-cli/summon && summonc main.ts
Repo Usage
Clone this repository:
git clone https://github.com/cedoor/mpc-cli.git
And install the dependencies:
cd mpc-cli && yarn
Code quality and formatting
Run ESLint to analyze the code and catch bugs:
yarn lint
Run Prettier to check formatting rules:
yarn format
Or to automatically format the code:
yarn format:write
Conventional commits
MPC-CLI uses conventional commits. A command line utility to commit using the correct syntax can be used by running:
git commit
It will also automatically check that the modified files comply with ESLint and Prettier rules.
Build libraries
Run Rollup to build all the packages:
yarn build
Releases
Bump a new version with:
yarn version:bump <version>
# e.g. yarn version:bump 2.0.0
It will create a commit and a git tag that will need to be pushed on the main branch. A workflow will be triggered and will publish the MPC-CLI packages on npm and release a new version on Github with its changelogs automatically.