{"library":"maci-cli","title":"MACI CLI","description":"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.","language":"javascript","status":"active","last_verified":"Sat May 09","install":{"commands":["npm install maci-cli"],"cli":{"name":"maci","version":null}},"imports":["import maciCLI from 'maci-cli'","import { CLI } from 'maci-cli'","import { deployVkRegistry, setVerifyingKeys, signup, publish, tallyVotes, processMessages } from 'maci-cli'","const { CLI } = require('maci-cli')"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { signup, publish, processMessages, tallyVotes } from 'maci-cli';\nimport { PrivKey, PubKey, Keypair } from 'maci-domainobjs';\n\nasync function main() {\n  const keypair = new Keypair();\n  const privKey = keypair.privKey.serialize();\n  const pubKey = keypair.pubKey.serialize();\n  await signup({ pubKey, privateKey: privKey });\n  const vote = { voteOptionIndex: 1, voteWeight: 9 };\n  await publish({ privateKey: privKey, vote, stateIndex: 1 });\n  await processMessages();\n  const result = await tallyVotes();\n  console.log('Tally result:', result);\n}\nmain().catch(console.error);","lang":"typescript","description":"Shows how to use key CLI functions programmatically: generate keys, signup user, publish vote, process messages, and tally votes.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}