Quick start

Up and running

Now that we've got you all excited, let's go through what you need to get started building with Aragon 😊

Note before starting: Windows is not officially supported by aragonCLI at the moment.

For more support about using Windows go here.

Environment setup

Node.js

First off, we need to be sure we have the right version of Node.js installed to prevent errors.

Dependencies of aragonCLI are constantly updated which result in Node version errors. Use NVM to install and select the right Node version. For compatibility across OS use Node v12.7 LTS version.

Also using yarn instead of npm as package manager is advised in some cases. Find how to install yarn.

To see which version of Node you have installed, from the command line run:

node -v

Web3 provider

Next, we'll need what we call a web3 provider to actually sign and send transactions to the Ethereum (or another) blockchain.

In general, if you have a hardware wallet, we recommend you use Frame as your web3 provider -- we'll go over how to do this in the tutorial that follows.

For now in this section, to interact with the Aragon app we'll be using Metamask. If you haven't please proceed with the installation of Metamask.

The aragonCLI

The aragonCLI (or Aragon Command Line Interface) is a tool used for complex interactions with DAOs, like installing a new app, granting permissions with specific parameters or executing transactions through the Agent app.

Now install aragonCLI from the command line running:

npm i -g @aragon/cli

Again: It is recommended to have NVM installed so that you can switch to Node v12.7 LTS to install the cli. At the moment the product isn't compatible with the later versions of node anymore.

If the installation takes a long time don't worry. It can happen, wait until the process is completed (sometimes it takes 30 min!).

Check with aragon -v whether the package has indeed installed.

If you're having trouble with this step, you should take a look at the installing aragonCLI section of the troubleshooting guide. If that doesn't fix things, please don't hesitate to reach out to us in the #dev-space channel off our Discord server.

The Aragon Builder plugin

The Aragon Builder plugin is a user-friendly tool for developing apps on top of Aragon. The plugin is automatically installed when using the boilerplate templates but we can suggest to install now with the following command:

npm i @aragon/buidler-aragon

Getting Started

In order to get up and running quickly, we’ll build our first DAO using some basic scaffolding. Just like real scaffolding in a construction site, when we talk about scaffolding in this context, we mean a simple prebuilt structure for your project, on top of which you can build the real one.

To create your first (scaffolded) DAO, from the command line run:

npx create-aragon-app first-dao.aragonpm.eth

Don't worry about fully understanding this line right now. Really. We'll cover that in the tutorial coming up. Right now, you just need to know that the scaffolding relies on some generated code, magically created by the create-aragon-app command.

If you're unsure what the difference is between npx and npm, we recommend you read through this medium post and this stackoverflow post.

Now if you look at your terminal, you should see a five step process:

Once all 5 have ticks next to them, you should run the following:

cd first-dao
yarn start

where:

  • cd first-dao, just moves us into the directory where the scaffolded app was created.

  • yarn start, sets up everything for us in the background so we can quickly live test our DAO.

If you've made it this far congrats 🤗. You've just created your first DAO! It’s running on your local network and as soon as it's ready it will open in your browser at localhost:3000!

Interacting with your first DAO

Once your browser is open at the right address, you should see a screen that looks like the one below.

As you can see on the left, this DAO is made up of two Aragon apps:

  • Home

  • first-dao (Counter)

Right now, we're in the Home app. This app just displays a welcome message with no possible user interactions.

Click on first-dao to open up the (slightly) more interesting Counter app.

Right now the count is at 0. Let's increment it.

Note that incrementing the counter triggers a blockchain transaction that saves the new value to the chain. But before the transaction can be sent, we need to sign it (to prove it was us that really sent it).

Click on the + button, which opens a Metamask transaction and sign it. For help on how to sign a transaction on Metamask go through these steps:

First of all, you have to connect your first-dao app to Metamask. Here you can learn to setup a Metamask wallet. Here how to import your first-dao seed phrase. And here on how to sign a first-dao transaction using Metamask.

After the transaction is completed, you should see Count: 1.

Done! We hope you enjoyed that 😊!

Next steps

Now that you’ve built your first DAO, feel free to take a look at the docs. If you're interested in understanding things at a deeper level go ahead to this tutorial!

Last updated