https://github.com/redsteep/dfinity-icp-governor
https://github.com/redsteep/dfinity-icp-governor
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/redsteep/dfinity-icp-governor
- Owner: redsteep
- License: apache-2.0
- Created: 2023-10-02T14:38:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-14T11:39:50.000Z (about 1 year ago)
- Last Synced: 2024-11-02T09:33:41.000Z (6 months ago)
- Language: TypeScript
- Homepage: https://dfinity-icp-contracts.vercel.app
- Size: 1.37 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-internet-computer - ICP Governance Canister - A fully-fledged single DAO governance solution inspired by the Compound smart contracts. (DAO Frameworks / Protocols)
README
# ICP Governance Canister
Governor is a canister and a frontend for a single DAO management Dapp
## Overview
* Principals can create a proposal when having enough tokens above the DAO-wide threshold
* Principals can cast a vote on a proposal when having any tokens, there's no voting threshold
* Voting weight for each principal equals to it's token balance
* Principals can queue a proposal that reaches a DAO-wide quorum for an execution
* A queued for an execution proposal gets time-locked until a specified DAO-wide amount of time exceeds## Admins — Guardian
* Guardian can cancel a proposal at any time before it gets executed
## Prerequisites
This project requires an installation of:
- [x] Install the [IC SDK](https://internetcomputer.org/docs/current/developer-docs/setup/install/index.mdx);
- [x] Install [Mops package manager](https://docs.mops.one/quick-start): `pnpm i -g ic-mops`.## Getting started
Navigate into the folder containing the project's files and run the following commands:
```bash
dfx start --clean --background # Run dfx in the background
pnpm install # Install dependencies
pnpm run deploy # Build + test + deploy canisters locally
```## Contributing
```bash
pnpm run dev # Start the development server
pnpm run test # Run integration tests
pnpm run build # Build the canisters, generate Candid declarations
```