Command-line interface for Minimal Anti-Collusion Infrastructure (MACI), version 2.5.0. MACI is a set of smart contracts and zero-knowledge proofs for on-chain voting that prevents bribery and coercion. This CLI provides tools for deploying, managing, and interacting with MACI instances. It captures commands for coordinator operations, user key generation, and contract deployment. Released under the MACI project, updated infrequently with new protocol iterations.
npm install maci-cliNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to use key CLI functions programmatically: generate keys, signup user, publish vote, process messages, and tally votes.
Generate new keys using Keypair.generate() from maci-domainobjs.
Deploy new contracts using CLI or hardhat tasks.
Replace `create` with `signup`.
Use privKey.serialize() to get a hex string.
Ensure your contract artifacts and CLI versions match exactly.
Convert using `SerializedPrivateKey = privKey.serialize()`.
Only call serialize() on Keypair objects, not on hex strings.
Run `maci deploy` or use hardhat tasks to deploy.
Check contract timestamps or wait until the voting period is active.
Ensure the circuit files (e.g., processMessages) are correctly generated and placed in the expected path.