This project is a versatile host UI including common tools, services and a set of example modules to build custom DAO apps. The following example plugin UI's are available:
This section displays all the proposals which need to be ratified by the community of token holders. Proposals follow an optimistic governance flow. They created by the Council and token holders have the chance to veto them for a certain amount of time.
This flow attempts to find a good balance between efficiency, agility, prevent spam or attacks and decentralization.
This section features a multisig plugin which is only visible to the Council members. It allows to create, approve and eventually relay proposals to the community section described above.
This section is also a multisig plugin, with the difference that a super majority of the Security Council can approve and execute proposals that are time critical. This plugin may be disabled in future iterations of the DAO but for the time being, it allows respond to potential security threats in a much quicker way.
The metadata and the actions of the proposal are encrypted until the proposal has been executed. See Encryption and decryption flows below.
This section shows a recap of the delegates who publish an announcement, as well as the Security Council members. Delegates can use this section to create their own profile while token holders can browse delegates and can eventually delegate to a candidate of their trust.
In proposals where metadata needs to be kept private until the end, we implement a two-layer encryption model which combines symmetric and asymmetric keys.
The data that we need to encrypt includes:
Before you start, make sure you have Bun installed on your machine. If not, hop over to Bun's official documentation for installation instructions.
Once you're set with Bun, clone this repository to your local machine:
git clone https://github.com/aragon/gov-app-template.git
cd gov-app-template
To get the development server running, simply execute:
bun install
bun dev
Got a plugin idea that's going to revolutionize the Aragon ecosystem? Adding it to the Governance App Template is easy:
/plugins
directory, pick a plugin that closely resembles your idea, and duplicate its directory.index.tsx
file inside the /plugins
directory and add an entry for your new plugin.And that's it!
Governance App Template is built to work seamlessly with Aragon OSx primitives, such as IProposal
or MajorityVoting
. This means you can focus on the fun part of creating and experimenting, without sweating the small stuff. Your plugin should integrate smoothly into the UI, making your development journey as breezy as a blockchain. š
Got ideas on how to make this template even better? We're all ears! Whether it's a bug fix, a new feature, or a plugin that could benefit everyone, we welcome your contributions. Check out our contributing guidelines for more information on how to get involved.
git remote add upstream git@github.com:aragon/gov-app-template.git
git remote set-url --push upstream DISABLE
Stuck on something? Our community is here to help! Join our Discord channel for support, advice, or just to share your awesome plugin creations with fellow Aragon enthusiasts.
The Governance App Template is released under the AGPL v3 License.