@makerdao/dai-plugin-governance

A dai.js plugin for adding MKR governance support to dapps.

Usage no npm install needed!

<script type="module">
  import makerdaoDaiPluginGovernance from 'https://cdn.skypack.dev/@makerdao/dai-plugin-governance';
</script>

README

Dai Governance Plugin

GitHub License NPM Build Status

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

  1. Install dapptools
  2. 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.