Skip to content

Commit

Permalink
Finished quickstart section.
Browse files Browse the repository at this point in the history
  • Loading branch information
NoahSaso committed Jan 7, 2024
1 parent ab32406 commit e4cc288
Show file tree
Hide file tree
Showing 21 changed files with 170 additions and 51 deletions.
19 changes: 12 additions & 7 deletions docs/quickstart/congratulations.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)!
52 changes: 27 additions & 25 deletions docs/quickstart/create-a-proposal.md
Original file line number Diff line number Diff line change
@@ -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).
80 changes: 80 additions & 0 deletions docs/quickstart/joining-leaving-member-based-dao.md
Original file line number Diff line number Diff line change
@@ -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.

:::
4 changes: 2 additions & 2 deletions docs/quickstart/joining-leaving-token-based-dao.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
17 changes: 0 additions & 17 deletions docs/quickstart/vote.md

This file was deleted.

49 changes: 49 additions & 0 deletions docs/quickstart/voting.md
Original file line number Diff line number Diff line change
@@ -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.**

:::
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/add-member-add-action.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/add-member-add-meow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/add-member-done.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/create-proposal-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/quickstart/create-proposal-done.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/create-proposal-form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed static/img/quickstart/new-proposal-done.png
Binary file not shown.
Binary file removed static/img/quickstart/new-proposal-position.png
Binary file not shown.
Binary file removed static/img/quickstart/new-proposal.png
Binary file not shown.
Binary file added static/img/quickstart/proposal-vote-done.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/proposal-vote.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/quickstart/remove-member-action.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e4cc288

Please sign in to comment.