ππ Trusted by over 1500 organizations, securing more than $300MM in funds. Try it out.
π Read the User Guide first, if you have any questions as a user.π If you'd like to develop an Aragon app, please visit the Aragon Developer Portal.π Please report any issues and feedback in the support channel on Discord.- π§ For technical stuff, use this project's issues or join the technical conversation in the hacker hangout channel on Discord.
π To learn more about contributing to the Aragon client itself, please check the contributing guide.- π’ For an overview of what changed with each release, check the releases.
Quick start
Install with yarn
and launch the app with yarn start
. By default, the app is configured to connect to the Ethereum Goerli testnet.
For connecting to other chains / deployments, a few useful npm scripts are provided:
- Ethereum Mainnet:
yarn start:mainnet
will launch the app, configured to connect to the Ethereum mainnet - Local development:
yarn 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.
More configuration options are available, and depending on your needs, you may find the frontend development setup guide helpful.
Releases
The Aragon client is automatically deployed to IPFS with each new commit to master
, via Fleek. The latest builds are available at client.aragon.org
or through an IPFS gateway, like ipfs.io/ipns/client.aragon.org
.
aragonPM
"Checkpointed" releases, tagged in our releases page, are published on-chain onto the aragon.aragonpm.eth
aragonPM repository for all supported Ethereum environments (mainnet and Goerli testnet).
For a long time (2018-2020), these releases were our primary "official" builds. With Fleek, however, we now relegate these on-chain deployments as historical backups in case a user wants to use an older version.
Secrets
A number of environment secrets are required during publishing and these are sometimes different per network.
You may either specify these secrets as environment variables or use a .env
.
Contributing
π Get started contributing with a good first issue.
Don't be shy to contribute even the smallest tweak.
For other details about contributing to Aragon, more information is available in 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.
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Re-usable foundations
Amongst other dependencies, the Aragon client is built upon these packages that you may also find useful for your projects:
- aragonUI: React component library used to build user interfaces within the Aragon design system
- token-amount: utility class for encapsulating and formatting a token amount
- use-inside: React utility that allows a component to be aware of being "inside" the subtree of another component
- use-token: React utility for fetching information related to tokens on Ethereum
- use-viewport: React utility providing the current window size and convenient functions for responsive apps
- use-wallet: React utility aiming to make the integration between your dapp and your users' web3 wallets as straightforward as possible
- web3-react: a simple, maximally extensible React framework for supporting arbitrary web3 wallets