|
1 | | -# How to launch a new DAO? |
| 1 | +# Introduction |
2 | 2 |
|
3 | | - The core contracts required by a daostack DAO are already deployed by the DAOstack team on mainnet as well as testnet and the addresses are available in [Migration.json](https://github.com/daostack/migration/blob/master/migration.json). Though you need to deploy an Avatar, custom schemes (optional), native reputation and native token contract. Checkout [Structure of DAO](https://github.com/daostack/arc#arc) for details on Avatar, scheme, rep and token |
4 | | - |
5 | | - DAO can be deployed using Migration package either from CLI or using javascript. Example deployment setup and scripts are available in [Starter-template](https://github.com/daostack/DAOstack-Hackers-Kit/tree/master/starter-template) |
| 3 | +The core contracts required by a daostack DAO are already deployed by the DAOstack team on mainnet as well as testnet and the addresses are available in [Migration.json](https://github.com/daostack/migration/blob/master/migration.json). |
| 4 | + |
| 5 | +Though, you will need to deploy following contracts: |
6 | 6 |
|
7 | | - - Choose a name for your DAO and the native token and its symbol |
8 | | - - Do you want to use DAOcreator contract? |
9 | | - Deploying a DAO with DAOcreator contract saves number of transactions to be signed by bundling up founder rep and token distribution (upto 100 members) in single tx and initial scheme registration in single tx |
| 7 | + - **Avatar**: The DAO's account that holds its assets. |
| 8 | + - **Controller**: Access Control of the DAO. |
| 9 | + - **Native Reputation**: Voting in Arc is done mainly using Reputation. |
| 10 | + - **Native Token**: ERC20 token Can be used in any way DAO would like. |
| 11 | + - **Custom schemes** (if any): Any new universal or non-universal scheme. |
10 | 12 |
|
11 | | - - Which schemes to include in the DAO? |
| 13 | + Refer [Structure of DAOstack DAO](../../stack/arc/arcIntro/). |
| 14 | + |
| 15 | +## How to Deploy? |
| 16 | +There are 2 recommended ways to deploy DAOstack DAO |
12 | 17 |
|
13 | | - Schemes are the actions a DAOstack DAO can take when a proposal passes/fails. Currently supported schemes in Migrations package are: |
| 18 | + - using Migration package |
| 19 | + - using [dOrg DAOcreator](https://dorg.tech/#/dao-creator) |
| 20 | + |
| 21 | +### dOrg DAOcreator |
14 | 22 |
|
15 | | - - ContributionReward: Enables fund management proposals that distribute funds to beneficiary once the proposal passes |
16 | | - - GenericScheme: Enables Avatar to make arbitrary function calls to a specific contract. For eg use Avatar to submit a proposal to Genesis Alpha on behalf of your DAO |
17 | | - - SchemeRegistrar: Lets you submit a proposal to register more schemes (apart from initial schemes set at time of deployment) to the DAO |
18 | | - - GlobalConstraintRegistrar: Lets you submit a proposal to register more GlobalConstraints |
19 | | - - UpgradeScheme: Lets you upgrade the controller. Since Controller is not a Scheme it cannot be changed via SchemeRegistrar |
| 23 | +DAOcreator is a tool with user friendly guided interface to launch a new DAO created by [dOrg](https://dorg.tech/#/about). |
20 | 24 |
|
21 | | - Find detailed documentation re Schemes in [Arc Repo](https://github.com/daostack/arc) |
| 25 | +Limitations of current version: |
| 26 | + - cannot deploy custom schemes |
| 27 | + - cannot add multiple generic actions using generic schemes |
| 28 | + - in alpha stage |
22 | 29 |
|
23 | | - - Ucontroller vs Controller? |
24 | | - Refer to documentation on Controllers |
25 | | - |
26 | | - - Decide on which Voting Machine to use and the parameters |
27 | | - Set the voting machine parameters according to the needs of the organization. Currently you can deploy a DAO using migrations with only GenesisProtocol voting machine, which allows decision at timeout according to higher relative vote. You can find details about different voting machines supported by arc at https://github.com/daostack/arc/tree/master/docs/contracts/VotingMachines |
| 30 | +#### Process |
| 31 | + - Follow the instructions through the app to deploy the DAO. |
| 32 | + - Copy the output of deployment process, along with a brief description of your DAO and its purpose, and send it to @shivgupt on Telegram or to the dOrg contact as displayed on the output screen. |
| 33 | + - We will submit a PR to `github.com/daostack/subgraph` on your behalf. |
28 | 34 |
|
29 | | - - Who gets the initial rep and token in DAO? |
30 | | - Edit the list of founder members’ address along with the rep and/or token to be distributed initially. You may choose to give equal rep to all or have differentiated rep. |
| 35 | +### Migration package |
31 | 36 |
|
32 | | - Once you have decided on *dao-params* follow the instruction in *Migrations* or one of the examples to deploy your dao |
| 37 | + Either from CLI or using javascript. Example and full reference guide can be found at [Migration Reame](https://github.com/daostack/migration#daostack-migration) |
33 | 38 |
|
| 39 | + You can also find some example deployment setup and script in the DAOstacker Hacker Kit examples - [Starter Template](https://github.com/daostack/DAOstack-Hackers-Kit/tree/master/starter-template) and [FireStarter Kit](https://github.com/daostack/DAOstack-Hackers-Kit/tree/master/firestarter-example) |
34 | 40 |
|
| 41 | + NOTE: Universal Controller and Universal Generic Scheme has been discontinued for arc Version > 33. Please make sure of the following: |
| 42 | + - Set `"useUController": false` |
| 43 | + - If registering Generic Scheme to the DAO mention it in Custom Scheme section. |
0 commit comments