@dorafactory/maci-operator
v2.2.1
Published
An operator for managing MACI (Minimal Anti-Collusion Infrastructure)/aMACI deployments and interactions.
Readme
aMACI operator
The aMACI operator service is a unique feature offered by the Dora Factory Anonymous MACI protocol (aMACI). Running an aMACI operator means that you will run and tally an aMACI round for a community, and validate the round with zero-knowledge proofs. From the protocol's frontend, users will be able to create aMACI rounds and select an aMACI operator.
Installation
npm install -g @dorafactory/maci-operatorQuick Start
Option 1: Run with Node.js (Traditional)
# 1. Initialize operator workspace
maci init ./my-operator
# 2. Configure the operator
cd my-operator
vim config.toml # Edit configuration file
# 3. Set operator identity (first time only)
maci set-operator identity .
maci set-operator maciPubKey .
# 4. Start the operator
maci start .Option 2: Run with Docker (Recommended)
# 1. Initialize operator workspace
maci init ./my-operator
# 2. Configure the operator
cd my-operator
vim config.toml # Edit configuration file
# 3. Set operator identity (first time only)
maci set-operator identity .
maci set-operator maciPubKey .
# 4. Start with Docker Compose
docker-compose up -d
# 5. View logs
docker-compose logs -fFor detailed Docker deployment instructions, see DOCKER.md.
Available Commands
maci init <dir> # Initialize operator workspace
maci start <dir> # Start the operator
maci set-operator identity <dir> # Set operator identity on-chain
maci set-operator maciPubKey <dir> # Set operator MACI public key on-chain
maci zkey download <dir> # Download circuit files
maci --help # Show helpConfiguration
After running maci init, edit config.toml to configure:
rpcEndpoint- Chain RPC endpointindexerEndpoint- GraphQL indexer endpointregistryContract- Registry contract addressidentity- Your operator identitymnemonic- Operator wallet mnemoniccoordinatorPrivKey- MACI coordinator private keyzkeyPath- Path to circuit files- Other prover and logging settings
Documentation
For the most up to date documentation, please visit how to run aMACI operator service
Explanation
- aMACI operator(support
2-1-1-5,4-2-2-25,6-3-3-125, and9-4-3-125circuit power):mainbranch - MACI operator(support
9-4-3-625circuit power):maci-operatorbranch (attention:1p1vandqvcircuit type are seperated) - MACI operator(support
2-1-1-5and4-2-2-25circuit power):maci-operator-minipower
