Skip to main content

voterset

Usage: pmc voterset [OPTIONS] COMMAND [ARGS]...

Voter set commands

╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ update Propose an update of a voter set's governor │
│ create Create a new voter set with a list of providers │
│ list List all voter sets │
│ info Show information of voter set
╰─────────────────────────────────────────────────────────────────────────────╯

The node command (pmc voterset) comprises sub-commands that manage voter sets.

voterset update

Usage: pmc voterset update [OPTIONS]

Propose an update of a voter set's governor

New governor must be an existing voter set.

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -vs, --voter-set=TEXT Name of existing voter set to update │
│ -t, --threshold=INT 0: supermajority of voters, specifically `n - (n - │
1) / 3` (which is usually around 67%) -1: simple │
│ majority positive number: that many voters │
--governor=TEXT Name of new governor │
│ --add-member=VALUE Provider pubkey(s) to add to voter set (default: [])
│ --remove-member=VALUE Provider pubkey(s) to remove from voter set
(default: [])
--description=TEXT Proposal description │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

With the update command (pmc voterset update), you can propose an update of a voter sets governor. With the command, adding and removing members of a voter set and updating the threshold (the minimum share of accepting votes that a proposal requires) is also possible. All options create proposals for the voter set to vote.

Example usage:

  • Propose adding a new member to the voter set
pmc voterset update --voter-set <name-of-voter-set> --add-member <pubkey>
  • Propose updating the voter sets governor
pmc voterset update --voter-set <name-of-voter-set> --governor <name-of-governor>

voterset create

Usage: pmc voterset create [OPTIONS]

Create a new voter set with a list of providers

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Name of new voter set
│* --pubkeys=VALUE Comma separated list of provider pubkeys for this │
│ voter set
│ -t, --threshold=INT 0: supermajority of voters, specifically `n - (n - 1)
│ / 3` (which is usually around 67%) -1: simple majority│
│ positive number: that many voters (default: 0)
│ -g, --governor=TEXT Name of another voter set which can update this voter │
│ set. Default: voter set is its own governor. │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The create command (pmc voterset create) creates a voter set, given a list of providers to include in the set. When creating a voter set, a threshold is set: the minimum share of yes votes that a proposal must obtain to be accepted.

Example usage:

pmc voterset create --name <voter-set-name> --pubkeys <pubkey-1>, <pubkey-2>, <pubkey-3> --threshold -1

voterset list

Usage: pmc voterset list [OPTIONS]

List all voter sets

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -i, --interactive Prompt for item to show details for
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The list command (pmc voterset list) lists all the voter sets.

voterset info

Usage: pmc voterset info [OPTIONS]

Show information of voter set

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Name of voter set
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The info command (pmc provider info) shows the information about a voter set.