/aragon

Aragon client to create and manage decentralized organizations on Ethereum.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Aragon

Build Status All Contributors

πŸŒŽπŸš€ Trusted by over 600 organizations, securing more than $1MM in funds.

  • πŸ“š Read the User Guide first, if you have any questions as a user.
  • πŸ’» You may be interested in Aragon Desktop, the most decentralized Aragon experience to date.
  • πŸ— If you'd like to develop an Aragon app, please visit the Aragon Developer Portal.
  • πŸ“ Please report any issues and feedback in the Aragon Chat #feedback channel.
  • πŸ”§ For technical stuff, use this project's issues or join the technical conversation in our #dev channel.
  • 🚒 For an overview of what changed with each release, check the releases and changelog.

Quick start

npm start will launch the app, configured to connect to our Rinkeby deployment.

For connecting to other chains / deployments, a few useful npm scripts are provided:

  • Mainnet: npm run start:mainnet will launch the app, configured to connect to our mainnet deployment
  • Local development: npm run start:local will launch the app, configured to connect to our aragen local development environment. It will also use the local IPFS daemon, if it detects one exists. If you're using the aragonCLI, you'll want to run this to connect to its local chain.

Note: Windows users may need to install the windows-build-tools before installing this project's dependencies.

Deployments

The Aragon client undergoes a number of different deployments, based on build environments, major release timelines, and quality assurance checks.

aragonPM

Regular updates, with incrementing minor or patch versions, are published onto the aragon.aragonpm.eth repo on all supported Ethereum environments.

These should be seen as "official" builds, whose distributions are secured by IPFS. Most users will likely see this version of the app, due to mainnet.aragon.org and rinkeby.aragon.org pointing to these builds.

Nightly / Per-PR builds

Automatic now deployments will occur for each PR and merge to master. These are useful for quickly testing a new feature, change, or hotfix.

The official now app for Github is set up to publish nightlies against Rinkeby see default now configuration. Travis is set up to publish nightlies against mainnet (see mainnet now configuration).

Contributing

πŸ‘‹ Get started contributing with a good first issue.

Don't be shy to contribute even the smallest tweak. 🐲 There are still some dragons to be aware of, but we'll be here to help you get started!

For more details about contributing to Aragon, please check the contributing guide.

Issues

If you come across an issue with Aragon, do a search in the Issues tab of this repo and the Aragon Apps Issues to make sure it hasn't been reported before. Follow these steps to help us prevent duplicate issues and unnecessary notifications going to the many people watching this repo:

  • If the issue you found has been reported and is still open, and the details match your issue, give a "thumbs up" to the relevant posts in the issue thread to signal that you have the same issue. No further action is required on your part.
  • If the issue you found has been reported and is still open, but the issue is missing some details, you can add a comment to the issue thread describing the additional details.
  • If the issue you found has been reported but has been closed, you can comment on the closed issue thread and ask to have the issue reopened because you are still experiencing the issue. Alternatively, you can open a new issue, reference the closed issue by number or link, and state that you are still experiencing the issue. Provide any additional details in your post so we can better understand the issue and how to fix it.

Environment options

The app can be configured in a number of ways via environment variables:

  • ARAGON_DEMO_DAO: Address of the demo organization suggested to users during onboarding
  • REACT_APP_DEFAULT_ETH_NODE: Url of the default Ethereum node to read blockchain data from (must be WebSocket protocol). If you intend to connect to a local ganache instance, by default you should set this to ws://localhost:8545.
  • REACT_APP_ENS_REGISTRY_ADDRESS: Address of the ENS registry that APM repos were registered on. If you've deployed aragonOS to a local network, you can find the ENS registry's address in the migration's console output.
  • REACT_APP_ETH_NETWORK_TYPE: Expected network type to connect to. Either one of main, rinkeby or local.
  • REACT_APP_ETH_SUBSCRIPTION_EVENT_DELAY: Time (in ms) delay between receiving an event from eth_subscribe to sending it for processing. Useful in cases where a node sends events faster than it can commit state changes from the event. Defaults to 0 (no delay).
  • REACT_APP_IPFS_GATEWAY: Url of the IPFS gateway to load APM repos from. If you intend to connect to a local IPFS daemon, by default you should set this to http://localhost:8080/ipfs
  • REACT_APP_ASSET_BRIDGE: Which source to load app frontend assets from. Can be one of ipfs (uses the configured IPFS gateway) or local (local development servers, running on localhost:300x). If you intend to serve assets from a local IPFS daemon, you should set this to ipfs.

Without any settings, the app is configured to connect to our Rinkeby deployment fetching assets from IPFS.

Contributors

Thanks goes to these wonderful people (emoji key):

Pierre Bertet
Pierre Bertet

πŸ’»
Brett Sun
Brett Sun

πŸ’»
Gorka Ludlow
Gorka Ludlow

πŸ’»
Jorge Izquierdo
Jorge Izquierdo

πŸ’»
Luis IvΓ‘n Cuende
Luis IvΓ‘n Cuende

πŸ’» 🎨 πŸ€”
Oliver
Oliver

πŸ’»
ßingen
ßingen

πŸ’»
Daniel Norman
Daniel Norman

πŸ’»
John Light
John Light

πŸ“– πŸ›
Tatu
Tatu

πŸ“–
Patricia Davila
Patricia Davila

🎨 πŸ““
Jouni Helminen
Jouni Helminen

🎨 πŸ““
Luke Duncan
Luke Duncan

πŸ€”
Daniel Constantin
Daniel Constantin

πŸ’»
RJ Ewing
RJ Ewing

πŸ’»
Paul Henschel
Paul Henschel

πŸ’»
Rodrigo Perez
Rodrigo Perez

πŸ’»
gasolin
gasolin

πŸ’»
Adam Soltys
Adam Soltys

πŸ’»
Arun Kumar
Arun Kumar

πŸ’»
Beer van der Drift
Beer van der Drift

πŸ’»
Daniel Caballero
Daniel Caballero

πŸ’»
Deam
Deam

πŸ’»
Ilia Smirnov
Ilia Smirnov

πŸ“– πŸ”§
julsar
julsar

πŸ“–
Pascal Precht
Pascal Precht

πŸ”§
Rudy Godoy
Rudy Godoy

πŸ“–
Yalda Mousavinia
Yalda Mousavinia

πŸ’»
decodedbrain
decodedbrain

πŸ’»
jvluso
jvluso

πŸ’»
mark g romano
mark g romano

πŸ’»
mul53
mul53

πŸ’»
Jon
Jon

πŸ’»
Abhinav Sagar
Abhinav Sagar

🚧

This project follows the all-contributors specification. Contributions of any kind welcome!