Releasing the Aragon Developer Portal
A new command line tool for building Aragon apps, a straightforward tutorial, and reference documentation for all the building blocks
Aragon is a complete stack to run decentralized organizations. It makes experimenting with governance at the speed of software possible.
You can create Aragon apps that interact with each other to bring delightful experiences to life and strengthen how people organize. Instead of reinventing the wheel, Aragon embraces the open source philosophy, by being a light horizontal layer that you can build upon, and by making all Aragon apps interoperable with each other.
Today, we introduce tools and documentation for:
- aragonOS, the smart contract framework that provides upgradeability and governance solutions out-of-the-box
- Aragon UI, for a beautiful frontend experience
- aragon.js, in the middle connecting the two together
Aragon Developer Portal
This new site now serves all the existing documentation for our tools, as well as a getting started guide and a tutorial for building your first Aragon app.
Aragon is the most powerful and modular way to run DAOs. But in our journey creating DAOs, we discovered how to modularize individual components that can be used for creating any dapp or crypto protocol.
These tools will help everyone get started on building Aragon apps.
Your first Aragon app tutorial
In this guide, we walk through creating your first Aragon app using aragonOS, aragon.js, Aragon UI and Aragon CLI.
Why build an Aragon app?
Let's first talk a bit about why you might want to build an Aragon app.
If you are building a protocol with some sort of curation mechanism or community involvement, or a dapp, Aragon gives you two things virtually for free: governance and upgradeability.
There is a case to be made that upgradeability and governance are two sides of the same coin, since upgradeability without governance re-centralises authority in an otherwise decentralised system, because you have a single entity who decides what version of a contract you interact with.
On the flipside, governance without upgradeability creates rigid systems, which is bad, because what works today, might not work tomorrow.
https://hack.aragon.org/docs/tutorial.html
aragonOS
A framework that enables flexible and upgradeable governance mechanisms by creating and assigning permissions to multiple entities.
As you may have guessed, the OS in aragonOS stands for Operating System. How so?
A computer operating system manages how applications may access the underlying resources of the computer, the hardware.
aragonOS does the same for decentralized organizations. aragonOS manages how apps and external entities may access the resources of the organization.
These resources can be assets, cryptocurrencies, rights to claim a premium on a loan, rights to upgrade a smart contract.
https://hack.aragon.org/docs/aragonos-ref.html
Aragon UI
Aragon UI is an Aragon-native toolkit of UI components for decentralized apps. It will make your app look consistent with the whole look of the Aragon client, in a way that it will not even look like the user is running apps from different developers. However, it is not mandatory for Aragon apps.
Check out the gallery of UI components.
https://hack.aragon.org/docs/aragonui-intro.html
aragon.js
aragon.js is a Javascript library to interact with aragonOS by handling transaction pathing, upgradeability and the state of the contracts.
https://hack.aragon.org/docs/aragonjs-ref.html
Radspec: Human readable transactions
A big focus of Aragon is user-friendliness, and one of the most unfriendly things in the Ethereum world is transaction data. Users and not even developers recognize hex strings that perform actions on the contracts.
Radspec lets you define what your contracts do, and display those human readable descriptions to the user in an easy and secure way.
Our Radspec expressions showing up in the Aragon signer
https://hack.aragon.org/docs/human-readable-txs.html
This suite of tools will facilitate the creation of decentralized applications to a level we haven't yet seen.