gov

Gov

A DAO framework built with Open Zeppelin’s Governor contract in combination with NFTs.

Since v0.10.0, Gov is using non-tranferable membership NFTs (“SBTs”), it is also timestamp-based by default.

Motivation

Provide a coordination tool that fits the needs of everyday people. Orgs, federations of orgs, activists, neighborhoods, stewards of the commons, collectives, and other communities are invited to deploy their own DAO.

Install

pnpm install

Test

pnpm test

Deploy

Create a .env on the model of .env.template:

cp .env.template .env
pnpm deploy:sepolia

Then you can interact with your DAO using Tally.

Security

Here are the differences between the Governor/ERC-721 implementations suggested by Open Zeppelin and ours:

Gov.sol

The following function is onlyGovernance, meaning it can only be triggered by a vote.

NFT.sol

The following functions are onlyOwner, and since the NFT contract ownership is transferred to the Gov contract, they can only be triggered by a vote.

Versions

Support

You can contact me via Element, Telegram, Twitter, Discord, or LinkedIn.