Plugins
Plugins
As mentioned earlier, plugins built by Aragon and third-party developers can be added and removed from your DAO to adapt it to your needs.
The management of these plugins is handled for you by the Aragon OSx protocol so that the process of
- Releasing new plugins as well as
- Installing, updating, and uninstalling them to your DAO
becomes as streamlined as possible.
In the following, we learn what a plugin consists of.
What Does a Plugin Consist Of?
An Aragon OSx Plugin consists of:
-
The
PluginSetup
contract- referencing the
Plugin
implementation internally - containing the setup instruction to install, update, and uninstall it to an existing DAO
- referencing the
-
A metadata URI pointing to a
JSON
file containing the- AragonApp frontend information
- Information needed for the setup ABI
-
A version tag consisting of a
- Release number
- Build number
A detailed explanation of the build and release versioning is found in the How-to sections in our developer portal.
A schematic depiction of a plugin bundle consisting of a version tag, the plugin setup contract pointing to the plugin implementation contract, and a metadata URI.
The PluginSetup
is written by you, the plugin developer. The processing of the setup is managed by the PluginSetupProcessor
, the central component of the setup process in the Aragon OSx framework, which is explained in the section The Plugin Setup Process.
Each plugin with its different builds and releases is versioned inside its own plugin repositories in a PluginRepo
contract, which is explained in the next section.