The Govern project consists of several sub projects interacting with each other.
erc3k: ERC3000 interfaces.
Govern Core: Aragon ERC3000 implementation.
Govern Create: Set of templates used to create new Govern instances.
Govern Contract Utils: Set of libraries and utilities used by the Govern contracts.
The Aragon Govern Console is a no-frills, forkable, extensible power user / developer UI tool for interacting with and visualizing low level information about Govern DAOs. Available on console.aragon.org.
Govern Server acts as a central point, fetching data from different sources (Ethereum, the Govern subgraph, IPFS) and providing it as a unified API to consumers. You can use it through the Govern.js library, or through its GraphQL API. It is powered by The Graph.
Start by bootstrapping the entire monorepo with
This will install all needed dependencies, and link all packages together to make sure you're using the local version of each one. After this, we can go and init our local development environment. Go ahead, and use the following command:
# For this to work, you'll need to have docker installed.yarn init:dev:env
This will, in order:
Compile all contracts, in the correct order
Extract all ABIs so the subgraph can reference them properly
Init a set of containers with an IPFS node, a local Ethereum node (using Ganache), and a local instance of the subgraph.
With this, you'll have a local development environment where you can deploy the entire Govern infra, and query the subgraph.