arrow-up-rightDeploy a governor

How to deploy a Governor contract to use with Tally

You can use Tally's open-source Governor deployerarrow-up-right to get started.

Configuring your Governor

Core logic is determined by the Governor contract. When deploying a Governor, you need to chose:

  1. How voting power is determined

  2. How many votes are needed for quorum

  3. What options people have when casting a vote and how those votes are counted

  4. What type of token should be used to vote

You can write your own module or choose one from OpenZeppelin contractsarrow-up-right.

These parameters must be set for the Governor contract:

  • votingDelay: how long after a proposal is created that voting power is fixed (a larger delay gives users time to unstake tokens)

  • votingPeriod: how long a proposal remains open to vote

A proposal threshold can also be set, which restricts proposal creation to accounts with enough voting power.

circle-info

The latest published release of the OpenZeppelin Contracts library can be downloaded by running:

$ npm install @openzeppelin/contracts

The OpenZeppelin Contracts documentationarrow-up-right includes guides and a detailed API reference for learning about developing secure smart contract systems.

You may also find the OpenZeppelin wizardarrow-up-right useful for configuring a smart contract.

Compatibility with Tally

Check out our guide to ensure your OpenZeppelin Governor is compatible with the Tally platform:

building-columnsOpenZeppelin Governorchevron-right

Using Governor

Tally offers an all-in-one guide explaining how to use Governor in the PDF below.

Last updated

Was this helpful?