Home

Awesome

Minimal Anti-Collusion Infrastructure

CI License

Minimal Anti-Collusion Infrastructure (MACI) is an on-chain voting protocol which protects privacy and minimizes the risk of collusion and bribery.

MACI blog, resources, and documentation for developers and integrators can be found here: https://maci.pse.dev/

We welcome contributions to this project. Please join our Discord server (in the #🗳️-maci channel) to discuss.

Packages

Below you can find a list of the packages included in this repository.

packagenpmtests
maci-circuitsNPM PackageActions Status
maci-cliNPM PackageActions Status
maci-contractsNPM PackageActions Status
maci-coreNPM PackageActions Status
maci-cryptoNPM PackageActions Status
maci-domainobjsNPM PackageActions Status
maci-integrationTestsNPM PackageActions Status
maci-subgraphNPM PackageActions Status

Development and testing

Branches

The base branch of the project is dev, which is used for ongoing development.

This project uses tags for releases. View all MACI releases.

To contribute to MACI, create feature/fix branches, then open PRs into dev. Learn more about contributing.

Local development

For installation and local development instructions, please see our installation docs.

This repository is organized as pnpm workspace. Each package contains its own unit tests.

Testing

Please refer to the testing documentation for more information.

CI pipeline

CI pipeline ensures that we have automated tests that constantly validate. For more information about pipeline workflows, read our CI documentation.