Dai Governance Plugin
A dai.js plugin for interacting with the MKR governance system. This plugin makes it easy to integrate dai governance into frontend applications such as the maker governace dashboard. You can use it to vote, cast proposals, query the voting contract, create a vote proxy, and much more.
Installation
The Dai Governance Plugin requires dai.js 0.9.2 or later.
$ npm install --save @makerdao/dai-plugin-governance
or
$ yarn add @makerdao/dai-plugin-governance
Examples
We will have several examples once the api is more stable. Here is one to give you some sense of how this plugin can be used:
import governancePlugin from '@makerdao/dai-plugin-governance';
import Maker from '@makerdao/dai';
(async () => {
const maker = Maker.create('browser', {
plugins: [governancePlugin]
});
await maker.authenticate();
await maker.service('chief').lock(10);
})();
This example will initiate a MetaMask transaction to lock 10 MKR into the maker voting system.
Development
Getting started
Note: this project utilizes the yarn package manager
Clone this repo & fetch submodules
$ git clone --recurse-submodules -j8 https://github.com/makerdao/dai-plugin-governance.git
Install project dependencies
$ yarn
$ yarn install --cwd "gov-testchain"
Running Tests
- Install dapptools
yarn testnet --ci yarn test
Publishing
Publish to NPM
$ yarn deploy
Code Style
We run Prettier on-commit, which means you can write code in whatever style you want and it will be automatically formatted according to the common style when you run git commit
.
License
The dai governance plugin is MIT licensed.