diff --git a/docs/quickstart/congratulations.md b/docs/quickstart/congratulations.md index 07332854..e746dd21 100644 --- a/docs/quickstart/congratulations.md +++ b/docs/quickstart/congratulations.md @@ -4,15 +4,20 @@ sidebar_position: 6 # Congratulations! -You've created your own DAO. More importantly, you've learned the -basics of DAO DAO. +You've created your own DAO. More importantly, you've learned the basics of DAO +DAO. -DAO DAO has **much more to offer**. By combining proposal messages -and treasury actions, you can create complex incentive structures. The -limit is your imagination and your ability to organize! Check out the -Recipes for more information. +DAO DAO has **much more to offer**. By taking full advantage of proposal +actions, you can create extremely simple or fascinatingly complex governance +systems. The limits are your imagination and your ability to organize! Check out +the `Recipes` section for more information. -Consider [how to design your DAO in a secure way](https://medium.com/@dao-dao/best-security-practices-for-daos-59484932377f). +One of the most important next steps to governing successful communities on DAO +DAO is learning [how to design your DAO +securely](https://medium.com/@dao-dao/best-security-practices-for-daos-59484932377f). +While we build DAO DAO to be powerful and composable, it is easy to shoot +yourself in the foot. A great place to double check your assumptions and discuss +ideas with others before managing sensitive assets is [our Discord server](https://discord.daodao.zone). Anything **unclear** or **buggy** in this tutorial? [Please report it](https://github.com/DA0-DA0/docs/issues)! diff --git a/docs/quickstart/create-a-proposal.md b/docs/quickstart/create-a-proposal.md index cfaaed50..c3d6e913 100644 --- a/docs/quickstart/create-a-proposal.md +++ b/docs/quickstart/create-a-proposal.md @@ -1,55 +1,57 @@ --- -sidebar_position: 3 +sidebar_position: 4 --- # Create your first proposal -After [creating a DAO for your bookclub](./create-a-dao), I'm sure you're busy -telling all of your friends to download Leap so they can [join -you](./joining-leaving-token-based-dao.md). Once they join your DAO and the -wonderful world of the Cosmoverse, why don't we make a governance proposal for -them? +After [creating a DAO for your book club](./create-a-dao), I'm sure you're busy +telling all of your friends to download Leap so they can join you. Once they +join your DAO, why don't we make a governance proposal for everyone to vote on? Let's create a proposal to decide what book to read. :::note -If you create your proposal before your friends join they won't be -able to vote on it as they won't have registered to vote in time. Make -sure that everyone has joined the DAO and staked their tokens before -making your proposal. +If you create a proposal before your friends join, they won't be able to vote on +it since they won't have registered to vote in time. Make sure that everyone has +joined the DAO before making your proposal. ::: ## Crafting your proposal -Since you were the first one here, it's only fair that you suggest -what everyone read next. Let's create a proposal suggesting the group -read Murray Bookchin's *The Next Revolution: Popular Assemblies and -the Promise of Direct Democracy*. +Since you were the first one here, it's only fair that you suggest what everyone +read next. Let's create a proposal suggesting the group read Murray Bookchin's +_The Next Revolution: Popular Assemblies and the Promise of Direct Democracy_. -To begin, starting from your DAO's page, navigate to **Proposals > New Proposal**. +To begin, starting from your DAO's page, navigate to **Proposals > New +Proposal**. -![](/img/quickstart/new-proposal-position.png) +![Create proposal button](/img/quickstart/create-proposal-button.png) Then, fill in the proposal's name and description. -![](/img/quickstart/new-proposal.png) + +![Proposal creation form](/img/quickstart/create-proposal-form.png) :::tip Actions? -You'll notice the Actions tag there. [Proposal actions](/docs/proposal-messages.md#proposal-actions) allow you to add rich scripting capabilities to proposal actions—commands that execute on the chain when the proposal passes. +You'll notice the `Actions` label there. [Proposal +actions](/docs/proposal-messages.md#proposal-actions) allow you to add rich +functionality to proposals: software instructions that execute on the blockchain +when a proposal is passed and executed. + +The proposal we are creating is a social agreement, so we don't need to run any +code. -The proposal we have here is more of a social contract. We don't need anything to change in code. ::: ## Ship it! +Now that we're ready, go ahead and press **Publish**. Your wallet will prompt +you to approve the transaction. -Now that we're ready, go ahead and press **Publish**. -Keplr will again ask you to approve the transaction. - -![](/img/quickstart/new-proposal-done.png) +Once you approve it, you'll see that your proposal is live! -Once you approve it, you'll see your proposal is live! +![Created proposal](/img/quickstart/create-proposal-done.png) -Now that we've made a proposal, let's vote on it. +Now that we've made a proposal, let's [vote on it](./voting). diff --git a/docs/quickstart/joining-leaving-member-based-dao.md b/docs/quickstart/joining-leaving-member-based-dao.md new file mode 100644 index 00000000..c4a74281 --- /dev/null +++ b/docs/quickstart/joining-leaving-member-based-dao.md @@ -0,0 +1,80 @@ +--- +sidebar_position: 2 +--- + +# Joining and leaving a member-based DAO + +As explained in [_What's a +DAO?_](../introduction/what-is-dao#members-multisig-replacement), member-based +DAOs have static membership, meaning the DAO must pass a proposal to add or +remove members. Members cannot independently decide to join or leave a +member-based DAO. + +You may want to read the [proposal creation guide](./create-a-proposal) to +understand how proposals work in DAOs before proceeding. + +## Joining (adding) + +To add a new member to a member-based DAO, an existing member must submit a +proposal to do so. To begin, starting from your DAO's page, navigate to +**Proposals > New Proposal**. + +![Create proposal button](/img/quickstart/create-proposal-button.png) + +Enter the details of your new proposal, and then click the `Add an action` +button. + +![Add an action button](/img/quickstart/add-member-add-action.png) + +In the action category selection modal, select the `DAO Governance` category. + +![DAO Governance category](/img/quickstart/add-member-action-modal.png) + +Then, choose the `Manage Members` action. + +![Manage Members action](/img/quickstart/add-member-manage-members.png) + +From here, you can add new members, update existing members' voting powers, and +remove existing members. In this example, we'll just add a new member. + +![Add Meow](/img/quickstart/add-member-add-meow.png) + +:::tip Voting weight + +For Meow's voting weight, we can choose any whole number greater than zero. +Since the DAO was created with a single member with a voting weight of 1, we +will choose 1 for Meow so that the members have equal voting power. If we +instead gave Meow a voting weight of 3, they would have 75% of the DAO's total +voting power, and the current member would only have 25%. + +::: + +All that's left to do is publish, vote on, and then execute the proposal. + +![Execute proposal](/img/quickstart/add-member-proposal-execute.png) + +Once passed, executing the proposal will activate the software instructions +contained in the proposal, which in this case adds Meow to the DAO. + +Now that it has been executed, Meow is in the DAO! + +![DAO's members tab with Meow](/img/quickstart/add-member-done.png) + +## Leaving (removing) + +To remove a member from a member-based DAO, the process is identical to adding a +new member. However, instead of adding an address under the `Members to +add/update` heading, we will add an address under the `Members to remove` +heading. + +![Remove Meow](/img/quickstart/remove-member-action.png) + +Passing and executing this proposal will kick Meow out of the DAO, and they +will no longer be able to vote on future proposals. + +:::note + +If a proposal was created when Meow was a member of the DAO, they will still be +able to vote on it. Membership changes only take effect for future proposals. + +::: diff --git a/docs/quickstart/joining-leaving-token-based-dao.md b/docs/quickstart/joining-leaving-token-based-dao.md index 385aa12c..615b11e9 100644 --- a/docs/quickstart/joining-leaving-token-based-dao.md +++ b/docs/quickstart/joining-leaving-token-based-dao.md @@ -1,12 +1,12 @@ --- -sidebar_position: 2 +sidebar_position: 3 --- # Joining and leaving a token-based DAO The DAO we created in the previous guide was not a token-based DAO. However, you are likely to encounter token-based DAOs soon enough if you are engaging with -other DAOs, and there are a few steps needed to interact with them. +DAOs, and there are a few things you need to learn before interacting with them. ## Joining diff --git a/docs/quickstart/vote.md b/docs/quickstart/vote.md deleted file mode 100644 index 8f34062a..00000000 --- a/docs/quickstart/vote.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Voting - -Now that everyone has [joined the DAO](./joining-leaving-token-based-dao.md) and -a proposal has [been made](./create-a-proposal.md) you can vote on it! - -![](/img/quickstart/vote-voting.png) - -### Vote yes! - -Go ahead and vote _yes_ on your new proposal and approve the -transaction in Keplr. Once your fellow DAO members vote as well the -proposal will pass or fail depending on what everyone thinks of the -book. :) diff --git a/docs/quickstart/voting.md b/docs/quickstart/voting.md new file mode 100644 index 00000000..974426af --- /dev/null +++ b/docs/quickstart/voting.md @@ -0,0 +1,49 @@ +--- +sidebar_position: 5 +--- + +# Voting + +Now that everyone has joined the DAO and a [proposal has been +made](./create-a-proposal.md), all current members of the DAO can vote on it! + +![Proposal vote](/img/quickstart/proposal-vote.png) + +### Vote yes! + +Go ahead and vote _yes_ on your new proposal and approve the transaction in your +wallet. Once your fellow DAO members vote as well, the proposal will pass or +fail depending on what everyone thinks of the book! + +![Proposal passed](/img/quickstart/proposal-vote-done.png) + +Since the proposal passed, you will see a button that says `Execute`. A few +things happen when a proposal is executed: + +- Any software instructions (i.e. Actions) within the proposal are executed on + the blockchain, taking immediate effect. +- If a proposal deposit was required to submit the proposal, and the DAO is + configured to return proposal deposits on passed proposals, the proposal + deposit will be refunded to the proposer. + +Since this DAO has no proposal deposit, and this proposal contains no actions, +executing does nothing but change the status of the proposal to `Executed`. +However, it is a good habit to execute proposals since it signifies that the +proposal process has completed, and it will sometimes be necessary. + +:::tip Revoting and early completion + +You can configure a DAO to allow revoting on proposals, which means that a voter +can change their vote all the way up to the end of the voting period. If +revoting is enabled (which can be done on creation or afterwards with the +`Update Voting Config` action), the proposal will _not_ complete early since the +outcome is not yet determined. + +By default, revoting is disabled, which means proposals will pass or fail the +moment enough voters have voted to guarantee a specific outcome. At this point, +the proposal will be executable (when passed) or closeable (when failed). +**Voters who did not get the chance to vote before the proposal outcome was +determined may still vote until the end of the voting period to ensure that all +members can express their preferences.** + +::: diff --git a/static/img/quickstart/add-member-action-modal.png b/static/img/quickstart/add-member-action-modal.png new file mode 100644 index 00000000..b1456c9f Binary files /dev/null and b/static/img/quickstart/add-member-action-modal.png differ diff --git a/static/img/quickstart/add-member-add-action.png b/static/img/quickstart/add-member-add-action.png new file mode 100644 index 00000000..5d207e28 Binary files /dev/null and b/static/img/quickstart/add-member-add-action.png differ diff --git a/static/img/quickstart/add-member-add-meow.png b/static/img/quickstart/add-member-add-meow.png new file mode 100644 index 00000000..5b0c3255 Binary files /dev/null and b/static/img/quickstart/add-member-add-meow.png differ diff --git a/static/img/quickstart/add-member-done.png b/static/img/quickstart/add-member-done.png new file mode 100644 index 00000000..b25e301b Binary files /dev/null and b/static/img/quickstart/add-member-done.png differ diff --git a/static/img/quickstart/add-member-manage-members.png b/static/img/quickstart/add-member-manage-members.png new file mode 100644 index 00000000..b83ef8ef Binary files /dev/null and b/static/img/quickstart/add-member-manage-members.png differ diff --git a/static/img/quickstart/add-member-proposal-execute.png b/static/img/quickstart/add-member-proposal-execute.png new file mode 100644 index 00000000..76e35d25 Binary files /dev/null and b/static/img/quickstart/add-member-proposal-execute.png differ diff --git a/static/img/quickstart/create-proposal-button.png b/static/img/quickstart/create-proposal-button.png new file mode 100644 index 00000000..5c61933c Binary files /dev/null and b/static/img/quickstart/create-proposal-button.png differ diff --git a/static/img/quickstart/create-proposal-done.png b/static/img/quickstart/create-proposal-done.png index b1d3fac2..c2692f81 100644 Binary files a/static/img/quickstart/create-proposal-done.png and b/static/img/quickstart/create-proposal-done.png differ diff --git a/static/img/quickstart/create-proposal-form.png b/static/img/quickstart/create-proposal-form.png new file mode 100644 index 00000000..4fd354e3 Binary files /dev/null and b/static/img/quickstart/create-proposal-form.png differ diff --git a/static/img/quickstart/new-proposal-done.png b/static/img/quickstart/new-proposal-done.png deleted file mode 100644 index 5b2ac90b..00000000 Binary files a/static/img/quickstart/new-proposal-done.png and /dev/null differ diff --git a/static/img/quickstart/new-proposal-position.png b/static/img/quickstart/new-proposal-position.png deleted file mode 100644 index 1c6cfd91..00000000 Binary files a/static/img/quickstart/new-proposal-position.png and /dev/null differ diff --git a/static/img/quickstart/new-proposal.png b/static/img/quickstart/new-proposal.png deleted file mode 100644 index e66ebff9..00000000 Binary files a/static/img/quickstart/new-proposal.png and /dev/null differ diff --git a/static/img/quickstart/proposal-vote-done.png b/static/img/quickstart/proposal-vote-done.png new file mode 100644 index 00000000..8e678190 Binary files /dev/null and b/static/img/quickstart/proposal-vote-done.png differ diff --git a/static/img/quickstart/proposal-vote.png b/static/img/quickstart/proposal-vote.png new file mode 100644 index 00000000..1022a832 Binary files /dev/null and b/static/img/quickstart/proposal-vote.png differ diff --git a/static/img/quickstart/remove-member-action.png b/static/img/quickstart/remove-member-action.png new file mode 100644 index 00000000..17908aba Binary files /dev/null and b/static/img/quickstart/remove-member-action.png differ