Aragon Q1 Development Update
By: Jorge Izquierdo
Tags: Development, Ethereum, Bitcoin, Blockchain, Open Source

Releasing Aragon Core v0.5, The Architect, was the biggest development milestone during the first quarter of the year. For some more information on the actual launch, you can check the official announcement:

What was released with Aragon Core v0.5

It is worth noting that there is not a single line of code in Aragon Core v0.5 being reused from the previous releases. This release is a full DApp (served using IPFS); we have discontinued the native desktop clients for the time being.

Finishing the refactor to a new modular architecture.

Support for running first and third party Aragon apps completely sandboxed from the rest of the app. Also added support for running multiple instances of one app in an organization.

Brand new Onboarding process with different templates to create and launch organizations.

Brand new signer view that provides accurate, human-readable, descriptions of the transactions the user will sign.

New Voting app: binary-choice that can be used for performing arbitrary actions in the organization or signaling.

New Finance app: with economic abstraction, Aragon organizations can hold and manage ERC20 assets and ETH.

New TokenManager app: for minting, burning, and issuing normal and vested tokens. Allows for the creation of non-transferable tokens that can be used as a multisig.

All Aragon DAOs and apps in this release work with the latest release of aragonOS 3.

Brand new Kernel and ACL that replaces the old Bylaws.

that replaces the old Bylaws. Full organization upgradeability (every part of a DAO can be upgraded according to permissions in the ACL)

(every part of a DAO can be upgraded according to permissions in the ACL) New Aragon Package Manager as an Aragon DAO, that allows for seamless app upgrades (both contract and frontend)

For more information on aragonOS 3, you can check the full announcement post we released in January:

Two different audits were started in Q1 and we expect to have the reports published in the coming weeks.

We separated the JS library that is used to interact with Aragon DAOs to its own package, this allows for easily creating different clients (different UIs, mobile apps or CLIs)

(different UIs, mobile apps or CLIs) Loads the state of an organization , its different apps and ACL permissions from the blockchain.

, its different apps and ACL permissions from the blockchain. Cache state locally for quicker and leaner loads.

Support for aragonOS transaction pathing , which allows users to directly invoke an action on an app, even if they don’t hold the required permissions themselves, and it will calculate what needs to happen (e.g create a vote).

, which allows users to directly invoke an action on an app, even if they don’t hold the required permissions themselves, and it will calculate what needs to happen (e.g create a vote). Radspec integration for describing transactions in a human-readable form.

for describing transactions in a human-readable form. Aragon ID integration for identity management.

Safer alternative to Ethereum’s natspec.

Basic DSL (Domain Specific Language) for describing and computing the side effects of transactions.

(Domain Specific Language) for describing and computing the side effects of transactions. Calls to arbitrary contracts (e.g. getting the token symbol from a token address)

(e.g. getting the token symbol from a token address) Basic math arithmetic operations.

ABI is baked in to the descriptions themselves, so no need to bundle ABIs for all of your contracts dependencies

First release of our CLI for developing Aragon apps . All Aragon apps that are part of this release were published using aragon-dev-cli.

. All Aragon apps that are part of this release were published using aragon-dev-cli. Create new Aragon apps from our provided boilerplates.

from our provided boilerplates. Create new repositories in APM and publish versions to those.

and to those. Implementation of IPFS and HTTP (dev mode) file provider to host app content.

Our design framework with React components that are used to build the wrapper and our own Aragon apps.

Implementation of new components, totalling at 24 components that have been released with this version: AragonApp, Badge, BadgeNumber, BaseStyles, Button, Card, CircleGraph, ContextMenu, Countdown, DropDown, Field, Footer, HOC, Header, IllustratedSection, Info, Input, LayoutGrid, Link, PreFooter, Radio, Section, SidePanel and Table.

that have been released with this version: AragonApp, Badge, BadgeNumber, BaseStyles, Button, Card, CircleGraph, ContextMenu, Countdown, DropDown, Field, Footer, HOC, Header, IllustratedSection, Info, Input, LayoutGrid, Link, PreFooter, Radio, Section, SidePanel and Table. External third party apps are already using aragon-ui for non-Aragon apps like tcr-ui.

Deployment

DApps that can be shut down by shutting down a company’s servers are not decentralized apps, just normal web 2.0 apps that use Ethereum as a settlement layer. This is certainly an improvement from using a centralized payments or database provider, but these apps could still be instantly stopped if a powerful enough actor feels threatened by it.

We feel very strongly about Aragon Core being a true decentralized app, resistent to censorship, no matter who doesn’t like a given organization or Aragon app, it should be up to each individual to decide whether they want to use it or not. This applies to Aragon itself, no matter if the team disappears overnight or if we are asked to shut down Aragon Core or a particular organization, we have architected the system to not have such power.

However, given the current state of the decentralized web infrastructure, we had to make some trade-offs to ensure our beta could be used by anyone with as little friction as possible.

aragonpm.com: aragonpm.com runs apm-serve which is our easy to use bridge from web 2.0 to APM. When requesting aragon.aragonpm.com, apm-serve fetches the APM package at aragon.aragonpm.eth , along with the latest version of the content from IPFS and serves it through HTTP(S). We will be working on making it easier to run apm-serve locally and not require using our server for this.

aragonpm.com runs apm-serve which is our easy to use bridge from web 2.0 to APM. When requesting aragon.aragonpm.com, apm-serve fetches the APM package at , along with the latest version of the content from IPFS and serves it through HTTP(S). We will be working on making it easier to run apm-serve locally and not require using our server for this. Metamask (and therefore Infura): we made Metamask the default, easy way to use Aragon Core. This results in using trusted nodes by Infura as default.

It is worth noting that during our testnet beta, there is certainly less at stake than once we go to Mainnet. We are working on ways to easily create trustless local setups for people to use Aragon Core without relying on any piece of centralized infrastructure.

Community Contributions

We always appreciate community contributions, so a big thank you to all the community members who contributed during Q1!

Open bounties

To incentivize more community contributions, we also have some bounties posted that are free for anyone to submit a claim to! We will also be posting more in the next quarter, so make sure to check back!

Tokens: ANT: 10.00

Tokens: ANT: 20.00