diff --git a/docs/configuration/staking.md b/docs/configuration/staking.md deleted file mode 100644 index 32bc3070..00000000 --- a/docs/configuration/staking.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Staking - -A DAO's staking configuration determines the rules of the token staking process. -Only token-based and NFT-based DAOs have a staking process to configure. -Member-based DAOs do not have staking because they do not use tokens. - -## How to update the staking configuration - -To change the staking configuration of a DAO, you must submit a [governance -proposal](/features/proposals/what) containing the `Update Staking Config` -action from the `DAO Governance` category. - -## Parameters - -### Unstaking duration - -After someone stakes tokens in a DAO, those tokens cannot be immediately -unstaked. The unstaking duration is how long they remain locked after deciding -to unstake. During the unstaking process, they do _not_ count towards your -voting power, and you cannot transfer them. - -This adds a time cost to staking and ensures a greater level of participatory -commitment from members. diff --git a/docs/configuration/voting.md b/docs/configuration/voting.md deleted file mode 100644 index 7e8cd9bd..00000000 --- a/docs/configuration/voting.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Voting - -A DAO's voting configuration determines the rules of the voting process. Things -like the passing threshold and voting duration. - -## How to update the voting configuration - -To change the voting configuration of a DAO, you must submit a [governance -proposal](/features/proposals/what) containing the `Update Voting Config` action -from the `DAO Governance` category. - -If you have multiple choice proposals enabled, you will instead see two -different actions, one labeled `Update Single Choice Voting Config` and the -other `Update Multiple Choice Voting Config`. You may configure each proposal -type (single and multiple choice) separately, though they should probably be -kept in sync so the voting experience is consistent. - -## Parameters - -You can update all of these parameters with the action(s) mentioned above at any -time. - -### Passing threshold and quorum - -The **_passing threshold_** is the `Yes` threshold needed to pass a proposal. It -defaults to majority (i.e. any votes above 50%). It sounds simple, but it gets -trick very fast because it works differently depending on whether or not the -quorum is enabled. - -The **_quorum_** is the proportion of all voting power that must vote for a -proposal to be **passable**. It defaults to 20%. For single choice proposals, -quorum can be disabled. - -#### Multiple choice proposals - -Multiple choice proposals use quorum in the same way, but they do not have a -passing threshold. Instead, as long as the quorum is met, whichever option -received more votes (i.e. the plurality of votes) wins. You cannot disable -quorum for multiple choice proposals. - -Read on to understand how passing threshold and quorum affect each other for -single choice proposals. - -#### With quorum enabled - -If your DAO has a quorum set, the passing threshold is only calculated among -**those who voted**. - -For example, with a quorum of 40% and a passing threshold of 75%, a proposal -could pass with only 30% of the total voting power having voted `Yes` if exactly -40% of voters vote. Imagine: 40% of the total voting power votes on the -proposal. Quorum is met. Of those who voted, 75% vote `Yes`. The rest of the -votes are split between `Abstain` and `No`. `Yes` will have won the vote with a -75% threshold of quorum, even though only 30% of the _total_ voting power voted -`Yes`. - -Setting quorum to 0% means that any single voter can pass a proposal by -themself. _This is different from disabling quorum._ - -:::tip - -Enabling a quorum helps when there is a risk of low participation in a DAO. -Large token-based DAOs likely face this risk as membership is fluid and -attention is finite. Setting a quorum low enough ensures that the DAO cannot be -locked due to lack of sufficient participation. However, setting a quorum too -low can lead to proposals passing that do not represent enough member's -preferences (if not enough people are paying attention). - -::: - -#### With quorum disabled - -If your DAO has no quorum set, the passing threshold is calculated among **all -possible voters**. This is considered an absolute threshold. - -For example, with a passing threshold of 67%, a proposal will pass if 67% of the -total voting power voted `Yes`. - -:::caution - -Threshold and quorum can be very confusing. Please be careful and check your -understanding with others before making any changes. - -::: - -### Only members execute - -If enabled, only members may execute passed proposals. If disabled, anyone can. -This defaults to enabled. - -### Voting duration - -This is the maximum time proposals remain open for voting. - -### Allow revoting - -If enabled, votes can be changed before the voting duration ends. This defaults -to disabled. - -:::tip - -When this is enabled, proposals always remain open for their entire duration. -This is because the proposal outcome cannot be determined if votes can be -changed. - -When this is disabled, proposals will pass or fail early if sufficient voters -cast votes to determine an outcome. - -::: diff --git a/docs/dao-governance/_category_.json b/docs/dao-governance/_category_.json new file mode 100644 index 00000000..c8a72a8f --- /dev/null +++ b/docs/dao-governance/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "DAO Governance", + "position": 3 +} diff --git a/docs/configuration/_category_.json b/docs/dao-governance/configuration/_category_.json similarity index 66% rename from docs/configuration/_category_.json rename to docs/dao-governance/configuration/_category_.json index 1369e116..da011bfa 100644 --- a/docs/configuration/_category_.json +++ b/docs/dao-governance/configuration/_category_.json @@ -1,4 +1,4 @@ { "label": "Configuration", - "position": 5 + "position": 1 } diff --git a/docs/configuration/proposal-submission.md b/docs/dao-governance/configuration/proposal-submission.md similarity index 61% rename from docs/configuration/proposal-submission.md rename to docs/dao-governance/configuration/proposal-submission.md index fb99a9f9..e9757bdb 100644 --- a/docs/configuration/proposal-submission.md +++ b/docs/dao-governance/configuration/proposal-submission.md @@ -4,20 +4,13 @@ sidebar_position: 2 # Proposal submission -A DAO's proposal submission configuration manages the rules around submitting a -proposal for voting. +A DAO's proposal submission configuration manages the rules around submitting a proposal for voting. ## How to update the proposal submission configuration -To change the proposal submission configuration of a DAO, you must submit a -[governance proposal](/features/proposals/what) containing the `Update Proposal -Submission Config` action from the `DAO Governance` category. +To change the proposal submission configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Proposal Submission Config` action from the `DAO Governance` category. -If you have multiple choice proposals enabled, you will instead see two -different actions, one labeled `Update Single Choice Proposal Submission Config` -and the other `Update Multiple Choice Proposal Submission Config`. You may -configure each proposal type (single and multiple choice) separately, though -they should probably be kept in sync so the voting experience is consistent. +If you have multiple choice proposals enabled, you will instead see two different actions, one labeled `Update Single Choice Proposal Submission Config` and the other `Update Multiple Choice Proposal Submission Config`. You may configure each proposal type (single and multiple choice) separately, though they should probably be kept in sync so the voting experience is consistent. ## Parameters @@ -26,9 +19,7 @@ time. ### Proposal deposit -This is a required deposit someone must put down to create a proposal. This can -be the DAO's governance token, if it exists, or any other token on the chain. By -default, this is disabled. +This is a required deposit someone must put down to create a proposal. This can be the DAO's governance token, if it exists, or any other token on the chain. By default, this is disabled. #### Refunding proposal deposits diff --git a/docs/dao-governance/configuration/staking.md b/docs/dao-governance/configuration/staking.md new file mode 100644 index 00000000..d620e833 --- /dev/null +++ b/docs/dao-governance/configuration/staking.md @@ -0,0 +1,19 @@ +--- +sidebar_position: 3 +--- + +# Staking + +A DAO's staking configuration determines the rules of the token staking process. Only token-based and NFT-based DAOs have a staking process to configure. Member-based DAOs do not have staking because they do not use tokens. + +## How to update the staking configuration + +To change the staking configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Staking Config` action from the `DAO Governance` category. + +## Parameters + +### Unstaking duration + +After someone stakes tokens in a DAO, those tokens cannot be immediately unstaked. The unstaking duration is how long they remain locked after deciding to unstake. During the unstaking process, they do _not_ count towards your voting power, and you cannot transfer them. + +This adds a time cost to staking and ensures a greater level of participatory commitment from members. diff --git a/docs/dao-governance/configuration/voting-config.md b/docs/dao-governance/configuration/voting-config.md new file mode 100644 index 00000000..186485e5 --- /dev/null +++ b/docs/dao-governance/configuration/voting-config.md @@ -0,0 +1,75 @@ +--- +sidebar_position: 1 +--- + +# Voting + +A DAO's voting configuration determines the rules of the voting process. Things like the passing threshold and voting duration. + +## How to update the voting configuration + +To change the voting configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Voting Config` action from the `DAO Governance` category. + +If you have multiple choice proposals enabled, you will instead see two different actions, one labeled `Update Single Choice Voting Config` and the other `Update Multiple Choice Voting Config`. You may configure each proposal type (single and multiple choice) separately, though they should probably be kept in sync so the voting experience is consistent. + +## Parameters + +You can update all of these parameters with the action(s) mentioned above at any time. + +### Passing threshold and quorum + +The **_passing threshold_** is the `Yes` threshold needed to pass a proposal. It defaults to majority (i.e. any votes above 50%). It sounds simple, but it gets trick very fast because it works differently depending on whether or not the quorum is enabled. + +The **_quorum_** is the proportion of all voting power that must vote for a proposal to be **passable**. It defaults to 20%. For single choice proposals, quorum can be disabled. + +#### Multiple choice proposals + +Multiple choice proposals use quorum in the same way, but they do not have a passing threshold. Instead, as long as the quorum is met, whichever option received more votes (i.e. the plurality of votes) wins. You cannot disable quorum for multiple choice proposals. + +Read on to understand how passing threshold and quorum affect each other for single choice proposals. + +#### With quorum enabled + +If your DAO has a quorum set, the passing threshold is only calculated among **those who voted**. + +For example, with a quorum of 40% and a passing threshold of 75%, a proposal could pass with only 30% of the total voting power having voted `Yes` if exactly 40% of voters vote. Imagine: 40% of the total voting power votes on the proposal. Quorum is met. Of those who voted, 75% vote `Yes`. The rest of the votes are split between `Abstain` and `No`. `Yes` will have won the vote with a 75% threshold of quorum, even though only 30% of the _total_ voting power voted `Yes`. + +Setting quorum to 0% means that any single voter can pass a proposal by themself. _This is different from disabling quorum._ + +:::tip + +Enabling a quorum helps when there is a risk of low participation in a DAO. Large token-based DAOs likely face this risk as membership is fluid and attention is finite. Setting a quorum low enough ensures that the DAO cannot be locked due to lack of sufficient participation. However, setting a quorum too low can lead to proposals passing that do not represent enough member's preferences (if not enough people are paying attention). + +::: + +#### With quorum disabled + +If your DAO has no quorum set, the passing threshold is calculated among **all possible voters**. This is considered an absolute threshold. + +For example, with a passing threshold of 67%, a proposal will pass if 67% of the total voting power voted `Yes`. + +:::caution + +Threshold and quorum can be very confusing. Please be careful and check your understanding with others before making any changes. + +::: + +### Only members execute + +If enabled, only members may execute passed proposals. If disabled, anyone can. This defaults to enabled. + +### Voting duration + +This is the maximum time proposals remain open for voting. + +### Allow revoting + +If enabled, votes can be changed before the voting duration ends. This defaults to disabled. + +:::tip + +When this is enabled, proposals always remain open for their entire duration. This is because the proposal outcome cannot be determined if votes can be changed. + +When this is disabled, proposals will pass or fail early if sufficient voters cast votes to determine an outcome. + +::: diff --git a/docs/features/proposals/_category_.json b/docs/dao-governance/proposals/_category_.json similarity index 63% rename from docs/features/proposals/_category_.json rename to docs/dao-governance/proposals/_category_.json index 14cdfa4c..8c8911a6 100644 --- a/docs/features/proposals/_category_.json +++ b/docs/dao-governance/proposals/_category_.json @@ -1,4 +1,4 @@ { "label": "Proposals", - "position": 1 + "position": 2 } diff --git a/docs/how-to/how-to-create-a-proposal.md b/docs/dao-governance/proposals/how-to-create-a-proposal.md similarity index 58% rename from docs/how-to/how-to-create-a-proposal.md rename to docs/dao-governance/proposals/how-to-create-a-proposal.md index e1f9a8eb..4c352b9b 100644 --- a/docs/how-to/how-to-create-a-proposal.md +++ b/docs/dao-governance/proposals/how-to-create-a-proposal.md @@ -1,24 +1,20 @@ --- -sidebar_position: 1 +sidebar_position: 3 --- # How to create a proposal -If you don't know what a proposal is, read the [proposal explanation -doc](/features/proposals/what) first. +If you don't know what a proposal is, read the [proposal explanation doc](../what.md) first. :::note -Members must join the DAO before a proposal is made in order to vote on it. -Membership changes during a proposal's voting period are ignored as they only -apply to future proposals. +Members must join the DAO before a proposal is made in order to vote on it. Membership changes during a proposal's voting period are ignored as they only apply to future proposals. ::: ## Steps -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**. ![Create proposal button](/img/how-to/proposals-tab.png) @@ -28,20 +24,15 @@ Then, fill in the proposal's name, description, and actions (if needed). :::tip What is an action? -[Proposal actions](/features/proposals/what#actions) allow you to add rich -functionality to proposals: software instructions that execute on the blockchain -when a proposal is passed and executed. Read the [proposal -docs](/features/proposals/what) to learn more. +[Proposal actions](../what.md#actions) allow you to add rich functionality to proposals: software instructions that execute on the blockchain when a proposal is passed and executed. Read the [proposal docs](../what.md) to learn more. ::: -If you want to create a multiple choice proposal, check out the [multiple choice -proposal docs](/features/proposals/types#multiple-choice). +If you want to create a multiple choice proposal, check out the [multiple choice proposal docs](../types.md#multiple-choice). To preview how the proposal will look once its created, press **Preview**. -Once you are satisfied with the proposal, press **Publish**. Your wallet will -prompt you to approve the transaction. +Once you are satisfied with the proposal, press **Publish**. Your wallet will prompt you to approve the transaction. Once you approve it, your proposal will be live and the DAO members can vote on it! diff --git a/docs/how-to/how-to-vote-on-a-proposal.md b/docs/dao-governance/proposals/how-to-vote-on-a-proposal.md similarity index 63% rename from docs/how-to/how-to-vote-on-a-proposal.md rename to docs/dao-governance/proposals/how-to-vote-on-a-proposal.md index e1ddcdfa..061d182b 100644 --- a/docs/how-to/how-to-vote-on-a-proposal.md +++ b/docs/dao-governance/proposals/how-to-vote-on-a-proposal.md @@ -1,16 +1,14 @@ --- -sidebar_position: 2 +sidebar_position: 4 --- # How to vote on a proposal -Once you've [created a proposal](/how-to/how-to-create-a-proposal), members of -the DAO need to vote on it. +Once you've [created a proposal](../how-to-create-a-proposal.md), members of the DAO need to vote on it. ## Steps -To begin, starting from your DAO's page, navigate to the proposal from the -**Proposals** tab. +To begin, starting from your DAO's page, navigate to the proposal from the **Proposals** tab. ![Proposals tab](/img/how-to/proposals-tab-with-proposals.png) @@ -22,11 +20,8 @@ Click on the desired vote option on the left side of the page. ![Vote options](/img/how-to/single-choice-proposal-vote-options.png) -Click on the **Cast your vote** button to submit your vote. Approve the -transaction in your wallet to confirm submission. +Click on the **Cast your vote** button to submit your vote. Approve the transaction in your wallet to confirm submission. ![Proposal still open](/img/how-to/open-proposal-already-voted.png) -The proposal will be updated with your vote. If your vote was sufficient to pass -or fail the proposal, it will now be complete. Since this proposal's outcome has -not yet been determined, it is still open for voting. +The proposal will be updated with your vote. If your vote was sufficient to pass or fail the proposal, it will now be complete. Since this proposal's outcome has not yet been determined, it is still open for voting. diff --git a/docs/dao-governance/proposals/types.md b/docs/dao-governance/proposals/types.md new file mode 100644 index 00000000..9c0b78e1 --- /dev/null +++ b/docs/dao-governance/proposals/types.md @@ -0,0 +1,74 @@ +--- +sidebar_position: 2 +--- + +# Types of proposals + +DAO DAO supports single choice (`Yes`, `No`, or `Abstain`) and multiple choice (`A`, `B`, `C`, `D`, ..., or `None of the above`) proposals. They work very similarly. + +## Single choice + +A single choice proposal contains a title, description, and an optional set of actions to execute if passed. The only voting options are `Yes`, `No`, and `Abstain`, and thus a single choice proposal either passes or fails. + +![Single choice proposal](/img/features/proposals/single-choice-proposal.png) + +### Title + +A title identifies the purpose of a proposal. It should be concise. + +### Description + +A description explains in detail what a proposal _is_. This may be a [constitution](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1), legal agreement, justification, or simply a place to document relevant information. Really it can be anything you want. There are no rules, and you should feel free to experiment. + +For example, if you are submitting a proposal to pay someone's salary, you may want to explain why you're paying them or what the relevant terms of work are. + +You can use [Markdown syntax](https://www.markdownguide.org/basic-syntax/) for rich formatting. + +### Actions + +Actions execute when a proposal is passed and executed. These actions let you do things like spend from the DAO's treasury, add or remove members, mint new governance tokens, and more. + +DAO DAO already has many actions that cover almost every possible action you can take on a blockchain. For the most part, you can create proposals without needing to actually write out any software instructions (i.e. transactions) by hand. The DAO DAO UI abstracts away many of those details for you. If you're doing something custom or experimental, you can always use a custom message. If you'd like to create a new action for DAOs to use, [you can do that too](https://github.com/DA0-DA0/dao-dao-ui/wiki/Adding-an-action-to-DAO-DAO)! + +## Multiple choice + +Multiple choice proposals can contain between 2 and 20 different options, each with their own set of actions, and they always include a `None of the above` option to ensure a proposal cannot force an action to be taken. + +If your DAO does not have multiple choice proposals enabled, ensure the DAO is +at least on [V2](..../upgrading/v2), and then [enable multiple choice proposals with a single choice proposal](#enable-multiple-choice-proposals). + +### How do they work? + +A multiple choice proposal is just like a single choice proposal, except that instead of a single set of actions, you can create many labeled options, each with their own set of actions. + +Simply choose the `Multiple Choice` proposal type when creating a new proposal. + +![Multiple choice proposal](/img/features/proposals/multiple-choice-proposal.png) + +Each option has different actions associated with it. + +![Option 1](/img/features/proposals/multiple-choice-proposal-option-1.png) + +![Option 2](/img/features/proposals/multiple-choice-proposal-option-2.png) + +When you go to vote, the proposal will show each of the options and a `None of the above` option, instead of just `Yes` and `No`. + +![Multiple choice proposal](/img/features/proposals/multiple-choice-proposal-done.png) + +### Enable multiple choice proposals + +If you create a new DAO, multiple choice proposals are enabled by default. If you have an existing DAO without multiple choice proposals enabled, you can enable them by [passing a single choice proposal](../how-to-create-a-proposal.md) containing the `Enable Multiple Choice Proposals` action in the `DAO Governance` category. + +On the proposal creation page, click the `Add an action` button. + +![Proposal creation form](/img/features/proposals/enable-multiple-choice-add-action.png) + +Click on the `DAO Governance` category, and then choose `Enable Multiple Choice Proposals`. + +![DAO Governance category](/img/shared/action-modal-dao-governance-category.png) + +![Enable multiple choice action](/img/features/proposals/enable-multiple-choice-dao-governance-category.png) + +![Complete proposal](/img/features/proposals/enable-multiple-choice-done.png) + +Once you publish, pass, and execute this proposal, multiple choice proposals will be enabled for the DAO! diff --git a/docs/dao-governance/proposals/what.md b/docs/dao-governance/proposals/what.md new file mode 100644 index 00000000..fad94154 --- /dev/null +++ b/docs/dao-governance/proposals/what.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 1 +--- + +# What are proposals? + +Proposals are how DAOs take action. You can think of proposals as the nervous system of the DAO—members submit and vote on proposals, and if passed, the DAO _does something_. + +## What can proposals do? + +Proposals can contain actions, which is where things get really interesting. + +### Actions + +Actions are software instructions that get executed on the blockchain after a proposal is passed. This lets you do things like spend from the DAO's treasury, add or remove members, mint new governance tokens, and more. + +An action could, for example, pay a contributor by transferring money from the DAO's treasury to their wallet. The purpose of the DAO DAO UI is to make it easy to do this by abstracting away the technicalities of the blockchain in an easy-to-use interface. + +:::tip Examples + +A blockchain software instruction can do pretty much anything: + +- Deploy a docker container on [Akash](https://akash.network/). +- [Update the configuration](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A7) of a smart contract, such as the DAO itself. +- Pay a [RPC node provider](https://daodao.zone/dao/juno1gpwekludv6vu8pkpnp2hwwf7f84a7mcvgm9t2cvp92hvpxk07kdq8z4xj2/proposals/A7). + +Truly anything you can do on a blockchain is supported by DAO DAO DAOs, with the added benefits of sophisticated governance processes. + +::: + +## Voting on proposals + +When you create a proposal, the voting distribution of members at the time of proposal creation is snapshotted and used for the proposal. This means that if you were not a member when a proposal was created, you will not be able to vote on it. + +This security measure prevents an attacker from purchasing a DAO's governance token if it's listed on an exchange, manipulating a vote, and then selling the tokens immediately afterward. Essentially, it ensures that a DAO member knows _to whom_ they are making a proposal: the people who have voting power at the moment the proposal goes live. + +## How do I create a proposal? + +Check out the [How to create a proposal](../how-to-create-a-proposal.md) guide to get started. diff --git a/docs/dao-management/_category_.json b/docs/dao-management/_category_.json new file mode 100644 index 00000000..ee86a284 --- /dev/null +++ b/docs/dao-management/_category_.json @@ -0,0 +1,4 @@ +{ + "label": “DAO Management", + "position": 2 +} diff --git a/docs/dao-management/create-a-dao.md b/docs/dao-management/create-a-dao.md new file mode 100644 index 00000000..e5e25dcd --- /dev/null +++ b/docs/dao-management/create-a-dao.md @@ -0,0 +1,85 @@ +--- +sidebar_position: 1 +--- + +# Create your first DAO + +For this tutorial, **we'll make a DAO for your reading group**. This will let folks in your reading group vote on which books to read, organize money for snacks, and so on. + +To keep things cheap, we'll do everything on the Osmosis testnet. Testnet tokens ($OSMO) have no value, and you can get some for free. More on that in a moment. + +## Install Leap + +To use DAO DAO you'll need a wallet. A wallet is your digital identity on a blockchain. There are many options, but a good choice is the [Leap wallet](https://www.leapwallet.io). You'll need to install that on your phone or browser before getting started. + +Once you've installed Leap, you need to create an account. To do this, open the Leap extension by pressing the puzzle piece icon in the top right of your browser and clicking on the Leap wallet extension. + +![puzzle icon](/img/quickstart/puzzle.png) + +![Leap wallet extension](/img/quickstart/leap-extension.png) + +Once you do that, you'll be directed to a page where you can create a new account. + +![Leap wallet extension](/img/quickstart/welcome-to-leap.png) + +Make sure to store your seed phrase somewhere only you'll be able to find it. This is the recovery key in case you ever need to recover your account, like if you lose your device. + +## Connect your wallet + +To make your first DAO, head to [testnet.daodao.zone](https://testnet.daodao.zone/) and connect your wallet by pressing the `Log in` button. + +Once logged in, you will see your Osmosis testnet address. Click on it to copy and save it for the next step. + +![Copy wallet address](/img/quickstart/wallet-copy-address.png) + +## Get some testnet $OSMO + +To get some testnet $OSMO, head over to [faucet.testnet.osmosis.zone](https://faucet.testnet.osmosis.zone) and paste your Osmosis address into the form. A bot should send you enough $OSMO to follow this tutorial. + +![Osmosis faucet](/img/quickstart/osmosis-faucet.png) + +:::tip + +We'll stick to the testnet for this tutorial, but once you're ready to build a real DAO, you'll need some mainnet tokens on any of the chains supported by DAO DAO. (The [mainnet version of DAO DAO](https://daodao.zone) is deployed on a handful of chains, including Osmosis mainnet). You can get $OSMO on some centralized exchanges, such as [Kraken](https://kraken.com), or on a decentralized exchange if you already have cryptocurrencies in the Cosmos ecosystem, like [Osmosis' DEX](https://osmosis.zone). + +::: + +## Create a DAO + +Navigate to the DAO creation page [on testnet](https://testnet.daodao.zone/dao/create?chain=osmo-test-5) (or [on mainnet](https://daodao.zone/dao/create), if that's your thing). + +## Name and describe your DAO + +Every DAO has a name and a description. These will be displayed in the DAO DAO UI and should communicate the purpose of the DAO to the world. + +Let's create a DAO called `Bookclub`. We'll make our DAO member-based for simplicity. + +![DAO title and description inputs](/img/quickstart/create-dao-title.png) + +:::tip + +To learn more about the differences between member- and token-based DAOs, read our documentation [here](../introduction/whats-a-dao.md#voting-power). + +::: + +## Add the initial members + +Now we can add the initial members of our DAO. If you're making this DAO with friends, add their Osmosis addresses during this step. Otherwise, you can start the DAO with only yourself and add new members via proposals later. + +![Member weights](/img/quickstart/create-dao-members.png) + +### Create DAO + +On the next screen, there are many configuration options available that determine how the DAO behaves. You can [read about the available voting configuration options](../dao-governance/configuration/voting.md) if you like, but for now, we'll accept the defaults and create our DAO! + +![Review page](/img/quickstart/create-dao-review.png) + +Go ahead and press `Create DAO` in the bottom right. If you see an error here, make sure you have some $OSMO in your testnet wallet. + +Your wallet will ask you to approve the transaction. Approve it. + +![Wallet approval prompt](/img/quickstart/create-dao-wallet-approve.png) + +🎉 **Congratulations!** You've made a DAO! 🎉 + +![Created DAO home page](/img/quickstart/create-dao-done.png) diff --git a/docs/dao-management/dao-treasury/_category_.json b/docs/dao-management/dao-treasury/_category_.json new file mode 100644 index 00000000..61075da7 --- /dev/null +++ b/docs/dao-management/dao-treasury/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "DAO Treasury", + "position": 4 +} diff --git a/docs/dao-management/dao-treasury/auto-add.md b/docs/dao-management/dao-treasury/auto-add.md new file mode 100644 index 00000000..05b716b7 --- /dev/null +++ b/docs/dao-management/dao-treasury/auto-add.md @@ -0,0 +1,28 @@ +--- +sidebar_position: 5 +--- + +# Automatically add tokens/NFTs to DAO Treasury + +By default, all tokens and NFTs sent to a DAO will be added to the DAO Treasury. This feature can be disabled through a DAO governance proposal. + +Check out our YouTube channel for video guides to disable the auto adding of [tokens](https://youtu.be/afWUmy17g00) or [NFTs](https://youtu.be/fGfRbe_NszI)! + +## 1. Create Proposal +a. From your DAO page, example circled in green, click the Proposal tab, indicated by the yellow arrow. + +![Create appearance proposal](/img/dao-management/change-appearance1.png) + +b. Create a new proposal by clicking the +Proposal button. +c. Give your proposal a title and description. +d. From the Action Library, select the Appearance tab and click on Update Info. + +![Update appearance](/img/dao-management/change-appearance4.png) + +e. This will populate the below tab, where you can update other DAO details. At the bottom of this tab are toggle options to enable or disable the automatic addition of sent tokens or NFTs to the DAO Treasury. +![Toggle](/img/dao-management/auto-accept1.png) +f. At the bottom of the screen will be an option to publish your proposal. Once you have reviewed your changes, publish your proposal to start the vote! + +## 2. Vote +a. Once the proposal is live, you and other DAO members can vote. If the majority of votes have been cast and the outcome of the vote is decided, the vote can be ended early via the execute button found on the proposal's page. +b. If the DAO membership votes in favor of the configuration change, the change will happen automatically at the close of the voting period. diff --git a/docs/dao-management/dao-treasury/enable-vesting.md b/docs/dao-management/dao-treasury/enable-vesting.md new file mode 100644 index 00000000..4bb04f8f --- /dev/null +++ b/docs/dao-management/dao-treasury/enable-vesting.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 4 +--- + +# Enable Vesting Payments +This feature allows DAOs to set up vesting contracts. A vesting payment distributes funds according to any schedule you choose, and the DAO can enable or disable early cancelation. + +To create vesting payments, you must first create a vesting payment manager on each chain that you want to pay from, and the DAO must have an account on each chain before you can create the manager. +## 1. Create a new proposal +a. From your DAO page, select the Proposal tab and click the +Proposal button. +![New proposal](/img/dao-management/vesting4.png) +b. Add a relevant title and description to your proposal. +c. From the Action Library, select Enable Vesting Payments. +![Action Library list](/img/dao-management/vesting1.png) +d. Connect the chains on which you wish to enable vesting payments. +![enable chains](/img/dao-management/vesting3.png) +e. publish your proposal by clicking the Publish button at the button of the screen. +![Proposal confirmation](/img/dao-management/change-appearance5.png) +## 2. Vote +a. Once the proposal is live, you and other DAO members can vote. If the majority of votes have been cast and the outcome of the vote is decided, the vote can be ended early via the execute button found on the proposal's page. +b. If the DAO membership votes in favor of enabling vesting payments, the feature will be automatically enabled at the close of the voting period. diff --git a/docs/dao-management/dao-treasury/how-to-manage-cross-chain-tokens.md b/docs/dao-management/dao-treasury/how-to-manage-cross-chain-tokens.md new file mode 100644 index 00000000..d3b4fe8f --- /dev/null +++ b/docs/dao-management/dao-treasury/how-to-manage-cross-chain-tokens.md @@ -0,0 +1,57 @@ +--- +sidebar_position: 1 +--- + +# Manage cross-chain tokens + +By default, you can manage tokens on the DAO's home chain. You may also want to hold, spend, and stake tokens on other chains. + +The first step is to [set up a cross-chain account](https://youtu.be/D4oiQl1Ne7k) on each chain you want to manage tokens on. + +[Watch a video on managing cross-chain tokens!](https://youtu.be/5LSe48BcTyk) + +## Setup + +[Create a proposal](..../dao-governance/proposals/how-to-create-a-proposal.md) and add the `Create Cross-Chain Account` action from the `DAO Treasury` category. + +![Create proposal form](/img/features/proposals/single-choice-proposal.png) + +![DAO Governance category in Add an action modal](/img/how-to/add-action-modal-dao-governance-category.png) + +![Create Cross-Chain Account action in DAO Governance category](/img/how-to/cross-chain-action-dao-governance-category.png) + +![Create Cross-Chain Account action](/img/how-to/create-cross-chain-account-action.png) + +Simply select which chain you want to create an account on. You can even add multiple chains at once using the plus button on the right. + +![Multiple chains](/img/how-to/create-cross-chain-account-action-multiple.png) + +Once this proposal is passed and executed, the cross-chain accounts will be created. This may take a few minutes as chain relayers have to detect and relay the actions to the other chains. + +## Sending tokens to a cross-chain account + +Once you have created cross-chain accounts, they will appear in the `Treasury & NFTs` tab of the DAO's page. + +![Treasury & NFTs tab](/img/how-to/treasury-nfts-tab.png) + +Click on the address to the right of the chain you want to send tokens to in order to copy it. Just send tokens from your wallet to the corresponding address on the desired chain, and your DAO will receive them. + +## Spending cross-chain tokens + +Spending cross-chain tokens is as easy as spending on the DAO's home chain. + +Check out the [How to send tokens](../how-to-send-tokens) guide to get started. + +When you select the token you want to send, you will see a list of all tokens on all chains the DAO has an account on. + +![Spend token modal](/img/how-to/spend-tokens-modal.png) + +## Staking cross-chain tokens and earning rewards + +Earning cross-chain staking rewards is as easy as staking on the DAO's home chain. + +Check out the [How to stake tokens](../how-to-stake-tokens) guide to get started. + +You can change the token you're going to stake in the action. + +![Staking token picker](/img/how-to/staking-token-picker.png) diff --git a/docs/dao-management/dao-treasury/how-to-send-tokens.md b/docs/dao-management/dao-treasury/how-to-send-tokens.md new file mode 100644 index 00000000..c0fe5905 --- /dev/null +++ b/docs/dao-management/dao-treasury/how-to-send-tokens.md @@ -0,0 +1,43 @@ +--- +sidebar_position: 3 +--- + +# How to send tokens + +Sending tokens from a DAO is easy. Tokens can be sent to a recipient on the same chain as the DAO or on another [IBC](..../introduction/whats-a-blockchain#how-do-you-send-tokens-between-blockchains)-connected chain. + +## Steps + +[Create a proposal](..../dao-governance/proposals/how-to-create-a-proposal.md) and add the `Spend` action from the `DAO Treasury` category. + +![Create proposal form](/img/features/proposals/single-choice-proposal.png) + +![DAO Treasury category in Add an action modal](/img/how-to/add-action-modal-dao-treasury-category.png) + +![Spend action in DAO Treasury category](/img/how-to/spend-action-dao-treasury-category.png) + +![Spend action](/img/how-to/spend-action.png) + +### Change recipient chain + +To choose which chain the tokens should be sent to, click on the dropdown to the left of the recipient address. This can be the same chain as the DAO or any IBC-connected chain. + +![Spend action recipient chain](/img/how-to/spend-action-recipient-chain.png) + +Simply choose which chain to send the tokens to. + +![Chain picker](/img/how-to/chain-picker.png) + +:::tip + +Only chains that have an active IBC connection with the chain the DAO lives on can be chosen. All chains shown in the list should work, but it's always a good idea to double check with someone if you are unsure. If there is a chain missing from the list, or a chain does not appear to work, please reach out to the developers on [Discord](https://discord.daodao.zone). + +::: + +Once choosing a chain, it will confirm the IBC path the tokens will be sent through. + +![Spend action with IBC path](/img/how-to/spend-action-ibc.png) + +For example, the action above will send 1 $JUNO from the DAO's Juno treasury to a wallet on Osmosis. + +Once this proposal is passed and executed, the tokens will be sent. diff --git a/docs/dao-management/dao-treasury/how-to-stake-tokens.md b/docs/dao-management/dao-treasury/how-to-stake-tokens.md new file mode 100644 index 00000000..0a28adbc --- /dev/null +++ b/docs/dao-management/dao-treasury/how-to-stake-tokens.md @@ -0,0 +1,35 @@ +--- +sidebar_position: 2 +--- + +# Manage Staking + +You can stake tokens on the DAO's home chain and any chain that the DAO has created a [cross-chain account](/how-to/how-to-manage-cross-chain-tokens) on. + +Check out our YouTube for videos for [managing staking](https://youtu.be/DQzT3T_tPF8), [claiming rewards](https://youtu.be/SLJTuZMra7c), [redelegating](https://youtu.be/Jvx6Cd48EZw), or [unstaking](https://youtu.be/NToj_x_fid8) + +## Steps + +[Create a proposal](/how-to/how-to-create-a-proposal) and add the `Manage Staking` action from the `DAO Treasury` category. + +![Create proposal form](/img/features/proposals/single-choice-proposal.png) + +![DAO Treasury category in Add an action modal](/img/how-to/add-action-modal-dao-treasury-category.png) + +![Manage Staking action in DAO Treasury category](/img/how-to/manage-staking-action-dao-treasury-category.png) + +![Manage Staking action](/img/how-to/manage-staking-action.png) + +You can choose any token native to the chains the DAO has accounts on. If you want to stake tokens on a chain that the DAO does not have an account on, you have to [create a cross-chain account](../how-to-manage-cross-chain-tokens) on that chain first. + +Once this proposal is passed and executed, the tokens will be staked. + +## Other staking options + +Aside from staking, you can also unstake, restake, claim rewards, and change the rewards withdrawal address. + +![Staking options](/img/how-to/staking-options.png) + +### Changing the rewards withdrawal address + +You can change the rewards withdrawal address to a wallet or DAO other than the DAO itself. This may be useful if you have a SubDAO that you want to receive staking rewards instead. diff --git a/docs/dao-management/manage-members/_category_.json b/docs/dao-management/manage-members/_category_.json new file mode 100644 index 00000000..89f193fb --- /dev/null +++ b/docs/dao-management/manage-members/_category_.json @@ -0,0 +1,4 @@ +{ + "label": “Manage Members”, + "position": 5 +} diff --git a/docs/dao-management/manage-members/joining-leaving-member-based-dao.md b/docs/dao-management/manage-members/joining-leaving-member-based-dao.md new file mode 100644 index 00000000..5e7a6694 --- /dev/null +++ b/docs/dao-management/manage-members/joining-leaving-member-based-dao.md @@ -0,0 +1,63 @@ +--- +sidebar_position: 1 +--- + +# Joining and leaving a member-based DAO + +As explained in [_What's a DAO?_](.../whats-a-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 explanation doc](..../dao-governance/proposals/what) to understand how proposals work in DAOs before proceeding. + +Check out our YouTube for video guides for [adding](https://youtu.be/YjF-4jwUhgI) or [removing](https://youtu.be/25q62ZleOd0) members from a member-based DAO. + +## 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/dao-management/manage-members/joining-leaving-token-based-dao.md similarity index 66% rename from docs/quickstart/joining-leaving-token-based-dao.md rename to docs/dao-management/manage-members/joining-leaving-token-based-dao.md index 615b11e9..510cb1f1 100644 --- a/docs/quickstart/joining-leaving-token-based-dao.md +++ b/docs/dao-management/manage-members/joining-leaving-token-based-dao.md @@ -1,20 +1,14 @@ --- -sidebar_position: 3 +sidebar_position: 2 --- # 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 -DAOs, and there are a few things you need to learn before interacting with them. +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 DAOs, and there are a few things you need to learn before interacting with them. ## Joining -To join a token-based DAO, you must register to vote by staking governance -tokens you obtain. Once you register to vote, you can vote on all future -proposals. However, you _cannot_ vote on proposals that were created before you -registered. This is a safety feature to ensure voting power remains constant -once a proposal is created. +To join a token-based DAO, you must register to vote by staking governance tokens you obtain. Once you register to vote, you can vote on all future proposals. However, you _cannot_ vote on proposals that were created before you registered. This is a safety feature to ensure voting power remains constant once a proposal is created. To register to vote, first visit the DAO's home page. @@ -31,9 +25,7 @@ Click the `Stake` or `Manage... stake` button to stake your tokens. ![Manage staking modal](/img/quickstart/manage-staking.png) -By staking your tokens, you are registering those tokens as voting power. Any -tokens you do not stake won't count towards your voting power. If you want your -votes to matter as much as possible, you'll likely want to stake all of them. +By staking your tokens, you are registering those tokens as voting power. Any tokens you do not stake won't count towards your voting power. If you want your votes to matter as much as possible, you'll likely want to stake all of them. There are some situations where you may not want to stake all of your tokens. For example: @@ -53,24 +45,18 @@ To leave a token-based DAO, you must unstake all your tokens. ![Staked token membership](/img/quickstart/staked-membership.png) -Click the `Manage your stake` button, and select the `Unstake` tab. On -that tab, select the `100%` button to fill in all your tokens, then press -`Unstake` in the bottom right. +Click the `Manage your stake` button, and select the `Unstake` tab. On that tab, select the `100%` button to fill in all your tokens, then press `Unstake` in the bottom right. ![Manage staking unstake modal](/img/quickstart/manage-staking-unstake-all.png) Approve the transaction in your wallet. -Once doing so, you will have to wait the unstaking duration before the tokens -are available to you again. While you are waiting, you will also not be able to -vote on proposals. +Once doing so, you will have to wait the unstaking duration before the tokens are available to you again. While you are waiting, you will also not be able to vote on proposals. ![Unstaking token membership](/img/quickstart/your-membership-unstaking.png) ![Unstaking token modal](/img/quickstart/unstaking-modal.png) -After the unstaking duration, you will need to claim your tokens by clicking on -the `Claim your ` button. After approving the transaction in your -wallet, the tokens will be available to you. +After the unstaking duration, you will need to claim your tokens by clicking on the `Claim your ` button. After approving the transaction in your wallet, the tokens will be available to you. ![Unstaked all membership](/img/quickstart/your-membership-nothing-staked.png) diff --git a/docs/features/subdaos/_category_.json b/docs/dao-management/subdaos/_category_.json similarity index 61% rename from docs/features/subdaos/_category_.json rename to docs/dao-management/subdaos/_category_.json index 22b03bc8..c064b6e9 100644 --- a/docs/features/subdaos/_category_.json +++ b/docs/dao-management/subdaos/_category_.json @@ -1,4 +1,4 @@ { "label": "SubDAOs", - "position": 2 + "position": 3 } diff --git a/docs/features/subdaos/act-on-behalf-of-subdao.md b/docs/dao-management/subdaos/act-on-behalf-of-subdao.md similarity index 53% rename from docs/features/subdaos/act-on-behalf-of-subdao.md rename to docs/dao-management/subdaos/act-on-behalf-of-subdao.md index c7cc4f9e..8fd2063b 100644 --- a/docs/features/subdaos/act-on-behalf-of-subdao.md +++ b/docs/dao-management/subdaos/act-on-behalf-of-subdao.md @@ -4,12 +4,9 @@ sidebar_position: 3 # How to act on behalf of a SubDAO -As discussed in [What are SubDAOs?](/features/subdaos/what), the admin (or -parent DAO) can execute any action on behalf of the SubDAO. Follow this guide to -learn how. +As discussed in [What are SubDAOs?](../what.md), the admin (or parent DAO) can execute any action on behalf of the SubDAO. Follow this guide or [watch our video guide](https://youtu.be/T8P8TFOU_kU) to learn how. -In the parent DAO, create a new proposal and add the `DAO Admin Execute` action -from the `DAO Governance` category. +In the parent DAO, create a new proposal and add the `DAO Admin Execute` action from the `DAO Governance` category. ![DAO Governance category](/img/features/subdaos/dao-governance-category.png) @@ -19,8 +16,6 @@ Then, select the SubDAO you want to act on behalf of. Then simply choose the action(s) you want to execute! -![DAO Admin Execute with Manage Members -action](/img/features/subdaos/dao-admin-execute-manage-members.png) +![DAO Admin Execute with Manage Members action](/img/features/subdaos/dao-admin-execute-manage-members.png) -Once you pass and execute the proposal, your action(s) will be executed on -behalf of the SubDAO. +Once you pass and execute the proposal, your action(s) will be executed on behalf of the SubDAO. diff --git a/docs/features/subdaos/how-to-create.md b/docs/dao-management/subdaos/how-to-create.md similarity index 56% rename from docs/features/subdaos/how-to-create.md rename to docs/dao-management/subdaos/how-to-create.md index 5357bdaf..47f14ecc 100644 --- a/docs/features/subdaos/how-to-create.md +++ b/docs/dao-management/subdaos/how-to-create.md @@ -4,39 +4,32 @@ sidebar_position: 2 # How to create a SubDAO -Creating a SubDAO is as easy as creating a regular DAO, with one extra step at -the end! +Creating a SubDAO is as easy as creating a regular DAO, with one extra step at the end! -To start, go to the DAO you want to create a SubDAO for, and navigate to -**SubDAOs > New SubDAO**. +To start, go to the DAO you want to create a SubDAO for, and navigate to **SubDAOs > New SubDAO**. ![Create SubDAO button](/img/features/subdaos/subdaos-tab.png) -You will be brought to an interface that looks identical to the interface for -creating a DAO, except the header should contain the name of the parent DAO. +You will be brought to an interface that looks identical to the interface for creating a DAO, except the header should contain the name of the parent DAO. ![New SubDAO UI](/img/features/subdaos/new-subdao.png) Create the SubDAO like you would any other DAO. If you need help, check out -[Create your first DAO](/quickstart/create-a-dao) in the Quickstart section. +[Create your first DAO](..../introduction/quickstart/create-a-dao.md) in the Quickstart section. ![SubDAO home](/img/features/subdaos/unregistered-subdao-home.png) -Lastly, the parent DAO needs to recognize the SubDAO with a proposal. This -security step prevents anyone from creating a SubDAO of an organization and -pretending to be a part of it. +Lastly, the parent DAO needs to recognize the SubDAO with a proposal. This security step prevents anyone from creating a SubDAO of an organization and pretending to be a part of it. -If you are a member of the parent DAO, you can click on the banner at the top of -the SubDAO's home page to open the parent DAO's proposal creation page with the -action prefilled. +Check out our YouTube for video guide for [adding]((https://youtu.be/F42qF2mAYxU)) or [removing](https://youtu.be/qpP_WSiju2U) a subDAO from the parent DAO! + +If you are a member of the parent DAO, you can click on the banner at the top of the SubDAO's home page to open the parent DAO's proposal creation page with the action prefilled. Clicking the alert banner at the top of the page will take you here: -![Parent DAO proposal -creation](/img/features/subdaos/prefilled-subdao-recognition.png) +![Parent DAO proposal creation](/img/features/subdaos/prefilled-subdao-recognition.png) -Once the parent DAO passes and executes this proposal, the SubDAO will be -recognized! +Once the parent DAO passes and executes this proposal, the SubDAO will be recognized! ![Recognized SubDAO home](/img/features/subdaos/subdao-home-recognized.png) diff --git a/docs/dao-management/subdaos/what.md b/docs/dao-management/subdaos/what.md new file mode 100644 index 00000000..0256b9aa --- /dev/null +++ b/docs/dao-management/subdaos/what.md @@ -0,0 +1,16 @@ +--- +sidebar_position: 1 +--- + +# What are SubDAOs? + +A SubDAO is a DAO with another DAO set as its admin, which establishes a hierarchical relationship. The SubDAO's admin (or the **parent DAO**) can execute any action on behalf of the SubDAO. In other words, the parent DAO can force the SubDAO to _do something_, like spend from it's treasury, manage members, or executing a smart contract. + +SubDAOs allow DAOs to build complex organizational structures. You can use SubDAOs to build teams, groups, departments, committees, advisory boards, and more! + +How you design your organization is up to you. Here are some examples: +- [DAO DAO](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/subdaos) itself uses SubDAOs to manage various initiatives, like its development processes and validator operations. +- [The Corporation](https://daodao.zone/dao/juno1xd2fed839exdvqfa4nqluyxxclvwul7kd48e9pyfm0z2g90dc37srnqy39/subdaos) was a [LARP](https://en.wikipedia.org/wiki/Live_action_role-playing_game) that relied on SubDAOs heavily, demonstrating how to create a [C-Corp](https://www.investopedia.com/terms/c/c-corporation.asp)-like structure using DAO DAO. +- [Neutron DAO](https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/subdaos), which manages the [Neutron blockchain](https://www.neutron.org/), integrates SubDAOs in its processes. The [Security SubDAO](https://daodao.zone/dao/neutron1fuyxwxlsgjkfjmxfthq8427dm2am3ya3cwcdr8gls29l7jadtazsuyzwcc/home) has special privileges over on-chain features, while the [Grants SubDAO](https://daodao.zone/dao/neutron1zjdv3u6svlazlydmje2qcp44yqkt0059chz8gmyl5yrklmgv6fzq9chelu/home) oversees the distribution of grants in the ecosystem. + +There are many ways take advantage of SubDAOs. Be creative, and show us what you come up with! diff --git a/docs/dao-management/update-info.md b/docs/dao-management/update-info.md new file mode 100644 index 00000000..1e205849 --- /dev/null +++ b/docs/dao-management/update-info.md @@ -0,0 +1,30 @@ +--- +sidebar_position: 2 +--- + +# Update DAO Appearance +Once your DAO has been created, any changes to its image, name, or description will need to be done through a proposal and vote. + +Check out our YouTube channel for video guides for changing DAO [image](https://youtu.be/TiE0-fQaUVg), [name](https://youtu.be/LJbzUymmVmI), or [description](https://youtu.be/hfuaIGqYBJA) +## 1. Create Proposal +a. From your DAO page, example circled in green, click the Proposal tab, indicated by the yellow arrow. +![Create appearance proposal](/img/dao-management/change-appearance1.png) +b. Create a new proposal by clicking the +Proposal button. +c. Give your proposal a title and description. +![Title and description proposal](/img/dao-management/change-appearance2.png) + +:::note + +Voting parameters, shown at the bottom of the above photo, are also set at DAO creation and would need a separate proposal to be changed. + +::: +d. From the Action Library, select the Appearance tab and click on Update Info. +![Update appearance](/img/dao-management/change-appearance4.png) +e. This will populate the below tab, where you can select/upload a new image to use for your DAO, change your DAO name, or description. +![Update info](/img/dao-management/change-appearance3.png) +f. At the bottom of the screen will be an option to publish your proposal. Once you have reviewed your changes, publish your proposal to start the vote! +![Proposal confirmation](/img/dao-management/change-appearance5.png) +## 2. Vote +a. Once the proposal is live, you and other DAO members can vote. If the majority of votes have been cast and the outcome of the vote is decided, the vote can be ended early via the execute button found on the proposal's page. +![Execute proposal](/img/dao-management/change-appearance6.png) +b. If the DAO membership votes in favor of the appearance change, the change will happen automatically at the close of the voting period. diff --git a/docs/features/_category_.json b/docs/features/_category_.json deleted file mode 100644 index 59287f7a..00000000 --- a/docs/features/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Features", - "position": 4 -} diff --git a/docs/features/proposals/types.md b/docs/features/proposals/types.md deleted file mode 100644 index b3e52341..00000000 --- a/docs/features/proposals/types.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Types of proposals - -DAO DAO supports single choice (`Yes`, `No`, or `Abstain`) and multiple choice -(`A`, `B`, `C`, `D`, ..., or `None of the above`) proposals. They work very -similarly. - -## Single choice - -A single choice proposal contains a title, description, and an optional set of -actions to execute if passed. The only voting options are `Yes`, `No`, and -`Abstain`, and thus a single choice proposal either passes or fails. - -![Single choice proposal](/img/features/proposals/single-choice-proposal.png) - -### Title - -A title identifies the purpose of a proposal. It should be concise. - -### Description - -A description explains in detail what a proposal _is_. This may be a -[constitution](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1), -legal agreement, justification, or simply a place to document relevant -information. Really it can be anything you want. There are no rules, and you -should feel free to experiment. - -For example, if you are submitting a proposal to pay someone's salary, you may -want to explain why you're paying them or what the relevant terms of work are. - -You can use [Markdown syntax](https://www.markdownguide.org/basic-syntax/) for -rich formatting. - -### Actions - -Actions execute when a proposal is passed and executed. These actions let you do -things like spend from the DAO's treasury, add or remove members, mint new -governance tokens, and more. - -DAO DAO already has many actions that cover almost every possible action you can -take on a blockchain. For the most part, you can create proposals without -needing to actually write out any software instructions (i.e. transactions) by -hand. The DAO DAO UI abstracts away many of those details for you. If you're -doing something custom or experimental, you can always use a custom message. If -you'd like to create a new action for DAOs to use, [you can do that -too](https://github.com/DA0-DA0/dao-dao-ui/wiki/Adding-an-action-to-DAO-DAO)! - -## Multiple choice - -Multiple choice proposals can contain between 2 and 20 different options, each -with their own set of actions, and they always include a `None of the above` -option to ensure a proposal cannot force an action to be taken. - -If your DAO does not have multiple choice proposals enabled, ensure the DAO is -at least on [V2](/upgrading/v2), and then [enable multiple choice proposals with -a single choice proposal](#enable-multiple-choice-proposals). - -### How do they work? - -A multiple choice proposal is just like a single choice proposal, except that -instead of a single set of actions, you can create many labeled options, each -with their own set of actions. - -Simply choose the `Multiple Choice` proposal type when creating a new proposal. - -![Multiple choice -proposal](/img/features/proposals/multiple-choice-proposal.png) - -Each option has different actions associated with it. - -![Option 1](/img/features/proposals/multiple-choice-proposal-option-1.png) - -![Option 2](/img/features/proposals/multiple-choice-proposal-option-2.png) - -When you go to vote, the proposal will show each of the options and a `None of -the above` option, instead of just `Yes` and `No`. - -![Multiple choice -proposal](/img/features/proposals/multiple-choice-proposal-done.png) - -### Enable multiple choice proposals - -If you create a new DAO, multiple choice proposals are enabled by default. If -you have an existing DAO without multiple choice proposals enabled, you can -enable them by [passing a single choice -proposal](/how-to/how-to-create-a-proposal) containing the `Enable Multiple -Choice Proposals` action in the `DAO Governance` category. - -On the proposal creation page, click the `Add an action` button. - -![Proposal creation -form](/img/features/proposals/enable-multiple-choice-add-action.png) - -Click on the `DAO Governance` category, and then choose `Enable Multiple Choice -Proposals`. - -![DAO Governance category](/img/shared/action-modal-dao-governance-category.png) - -![Enable multiple choice -action](/img/features/proposals/enable-multiple-choice-dao-governance-category.png) - -![Complete proposal](/img/features/proposals/enable-multiple-choice-done.png) - -Once you publish, pass, and execute this proposal, multiple choice proposals -will be enabled for the DAO! diff --git a/docs/features/proposals/what.md b/docs/features/proposals/what.md deleted file mode 100644 index 4eb8daec..00000000 --- a/docs/features/proposals/what.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -sidebar_position: 1 ---- - -# What are proposals? - -Proposals are how DAOs take action. You can think of proposals as the nervous -system of the DAO—members submit and vote on proposals, and if passed, the DAO -_does something_. - -## What can proposals do? - -Proposals can contain actions, which is where things get really interesting. - -### Actions - -Actions are software instructions that get executed on the blockchain after a -proposal is passed. This lets you do things like spend from the DAO's treasury, -add or remove members, mint new governance tokens, and more. - -An action could, for example, pay a contributor by transferring money from the -DAO's treasury to their wallet. The purpose of the DAO DAO UI is to make it easy -to do this by abstracting away the technicalities of the blockchain in an -easy-to-use interface. - -:::tip Examples - -A blockchain software instruction can do pretty much anything: - -- Deploy a docker container on [Akash](https://akash.network/). -- [Update the - configuration](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A7) - of a smart contract, such as the DAO itself. -- Pay a [RPC node - provider](https://daodao.zone/dao/juno1gpwekludv6vu8pkpnp2hwwf7f84a7mcvgm9t2cvp92hvpxk07kdq8z4xj2/proposals/A7). - -Truly anything you can do on a blockchain is supported by DAO DAO DAOs, with the -added benefits of sophisticated governance processes. - -::: - -## Voting on proposals - -When you create a proposal, the voting distribution of members at the time of -proposal creation is snapshotted and used for the proposal. This means that if -you were not a member when a proposal was created, you will not be able to vote -on it. - -This security measure prevents an attacker from purchasing a DAO's governance -token if it's listed on an exchange, manipulating a vote, and then selling the -tokens immediately afterward. Essentially, it ensures that a DAO member knows -_to whom_ they are making a proposal: the people who have voting power at the -moment the proposal goes live. - -## How do I create a proposal? - -Check out the [How to create a proposal](/how-to/how-to-create-a-proposal) guide -to get started. diff --git a/docs/features/subdaos/what.md b/docs/features/subdaos/what.md deleted file mode 100644 index 86a89de4..00000000 --- a/docs/features/subdaos/what.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -sidebar_position: 1 ---- - -# What are SubDAOs? - -A SubDAO is a DAO with another DAO set as its admin, which establishes a -hierarchical relationship. The SubDAO's admin (or the **parent DAO**) can -execute any action on behalf of the SubDAO. In other words, the parent DAO can -force the SubDAO to _do something_, like spend from it's treasury, manage -members, or executing a smart contract. - -SubDAOs allow DAOs to build complex organizational structures. You can use -SubDAOs to build teams, groups, departments, committees, advisory boards, and -more! - -How you design your organization is up to you. Here are some examples: -- [DAO - DAO](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/subdaos) - itself uses SubDAOs to manage various initiatives, like its development - processes and validator operations. -- [The -Corporation](https://daodao.zone/dao/juno1xd2fed839exdvqfa4nqluyxxclvwul7kd48e9pyfm0z2g90dc37srnqy39/subdaos) -was a [LARP](https://en.wikipedia.org/wiki/Live_action_role-playing_game) that -relied on SubDAOs heavily, demonstrating how to create a -[C-Corp](https://www.investopedia.com/terms/c/c-corporation.asp)-like structure -using DAO DAO. -- [Neutron - DAO](https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/subdaos), - which manages the [Neutron blockchain](https://www.neutron.org/), integrates - SubDAOs in its processes. The [Security - SubDAO](https://daodao.zone/dao/neutron1fuyxwxlsgjkfjmxfthq8427dm2am3ya3cwcdr8gls29l7jadtazsuyzwcc/home) - has special privileges over on-chain features, while the [Grants - SubDAO](https://daodao.zone/dao/neutron1zjdv3u6svlazlydmje2qcp44yqkt0059chz8gmyl5yrklmgv6fzq9chelu/home) - oversees the distribution of grants in the ecosystem. - -There are many ways take advantage of SubDAOs. Be creative, and show us what you -come up with! diff --git a/docs/how-to-contribute.md b/docs/how-to-contribute.md index 10d0f136..953b710c 100644 --- a/docs/how-to-contribute.md +++ b/docs/how-to-contribute.md @@ -1,5 +1,5 @@ --- -sidebar_position: 7 +sidebar_position: 5 --- # Contribute to DAO DAO! diff --git a/docs/how-to/_category_.json b/docs/how-to/_category_.json deleted file mode 100644 index a3cebce6..00000000 --- a/docs/how-to/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "How to...", - "position": 3 -} diff --git a/docs/how-to/how-to-manage-cross-chain-tokens.md b/docs/how-to/how-to-manage-cross-chain-tokens.md deleted file mode 100644 index 3691c553..00000000 --- a/docs/how-to/how-to-manage-cross-chain-tokens.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -sidebar_position: 5 ---- - -# How to manage cross-chain tokens - -By default, you can manage tokens on the DAO's home chain. You may also want to -hold, spend, and stake tokens on other chains. - -The first step is to set up a cross-chain account on each chain you want to -manage tokens on. - -## Setup - -[Create a proposal](/how-to/how-to-create-a-proposal) and add the `Create -Cross-Chain Account` action from the `DAO Treasury` category. - -![Create proposal form](/img/features/proposals/single-choice-proposal.png) - -![DAO Governance category in Add an action -modal](/img/how-to/add-action-modal-dao-governance-category.png) - -![Create Cross-Chain Account action in DAO Governance -category](/img/how-to/cross-chain-action-dao-governance-category.png) - -![Create Cross-Chain Account -action](/img/how-to/create-cross-chain-account-action.png) - -Simply select which chain you want to create an account on. You can even add -multiple chains at once using the plus button on the right. - -![Multiple chains](/img/how-to/create-cross-chain-account-action-multiple.png) - -Once this proposal is passed and executed, the cross-chain accounts will be -created. This may take a few minutes as chain relayers have to detect and relay -the actions to the other chains. - -## Sending tokens to a cross-chain account - -Once you have created cross-chain accounts, they will appear in the `Treasury & -NFTs` tab of the DAO's page. - -![Treasury & NFTs tab](/img/how-to/treasury-nfts-tab.png) - -Click on the address to the right of the chain you want to send tokens to in -order to copy it. Just send tokens from your wallet to the corresponding address -on the desired chain, and your DAO will receive them. - -## Spending cross-chain tokens - -Spending cross-chain tokens is as easy as spending on the DAO's home chain. - -Check out the [How to send tokens](/how-to/how-to-send-tokens) guide to get -started. - -When you select the token you want to send, you will see a list of all tokens on -all chains the DAO has an account on. - -![Spend token modal](/img/how-to/spend-tokens-modal.png) - -## Staking cross-chain tokens and earning rewards - -Earning cross-chain staking rewards is as easy as staking on the DAO's home -chain. - -Check out the [How to stake tokens](/how-to/how-to-stake-tokens) guide to get -started. - -You can change the token you're going to stake in the action. - -![Staking token picker](/img/how-to/staking-token-picker.png) diff --git a/docs/how-to/how-to-send-tokens.md b/docs/how-to/how-to-send-tokens.md deleted file mode 100644 index d160571d..00000000 --- a/docs/how-to/how-to-send-tokens.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -sidebar_position: 3 ---- - -# How to send tokens - -Sending tokens from a DAO is easy. Tokens can be sent to a recipient on the same -chain as the DAO or on another -[IBC](/introduction/whats-a-blockchain#how-do-you-send-tokens-between-blockchains)-connected -chain. - -## Steps - -[Create a proposal](/how-to/how-to-create-a-proposal) and add the `Spend` action -from the `DAO Treasury` category. - -![Create proposal form](/img/features/proposals/single-choice-proposal.png) - -![DAO Treasury category in Add an action -modal](/img/how-to/add-action-modal-dao-treasury-category.png) - -![Spend action in DAO Treasury -category](/img/how-to/spend-action-dao-treasury-category.png) - -![Spend action](/img/how-to/spend-action.png) - -### Change recipient chain - -To choose which chain the tokens should be sent to, click on the dropdown to the -left of the recipient address. This can be the same chain as the DAO or any -IBC-connected chain. - -![Spend action recipient chain](/img/how-to/spend-action-recipient-chain.png) - -Simply choose which chain to send the tokens to. - -![Chain picker](/img/how-to/chain-picker.png) - -:::tip - -Only chains that have an active IBC connection with the chain the DAO lives on -can be chosen. All chains shown in the list should work, but it's always a good -idea to double check with someone if you are unsure. If there is a chain missing -from the list, or a chain does not appear to work, please reach out to the -developers on [Discord](https://discord.daodao.zone). - -::: - -Once choosing a chain, it will confirm the IBC path the tokens will be sent -through. - -![Spend action with IBC path](/img/how-to/spend-action-ibc.png) - -For example, the action above will send 1 $JUNO from the DAO's Juno treasury to -a wallet on Osmosis. - -Once this proposal is passed and executed, the tokens will be sent. diff --git a/docs/how-to/how-to-stake-tokens.md b/docs/how-to/how-to-stake-tokens.md deleted file mode 100644 index d4d8948c..00000000 --- a/docs/how-to/how-to-stake-tokens.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_position: 4 ---- - -# How to stake tokens - -You can stake tokens on the DAO's home chain and any chain that the DAO has -created a [cross-chain account](/how-to/how-to-manage-cross-chain-tokens) on. - -## Steps - -[Create a proposal](/how-to/how-to-create-a-proposal) and add the `Manage -Staking` action from the `DAO Treasury` category. - -![Create proposal form](/img/features/proposals/single-choice-proposal.png) - -![DAO Treasury category in Add an action -modal](/img/how-to/add-action-modal-dao-treasury-category.png) - -![Manage Staking action in DAO Treasury -category](/img/how-to/manage-staking-action-dao-treasury-category.png) - -![Manage Staking action](/img/how-to/manage-staking-action.png) - -You can choose any token native to the chains the DAO has accounts on. If you -want to stake tokens on a chain that the DAO does not have an account on, you -have to [create a cross-chain account](/how-to/how-to-manage-cross-chain-tokens) -on that chain first. - -Once this proposal is passed and executed, the tokens will be staked. - -## Other staking options - -Aside from staking, you can also unstake, restake, claim rewards, and change the -rewards withdrawal address. - -![Staking options](/img/how-to/staking-options.png) - -### Changing the rewards withdrawal address - -You can change the rewards withdrawal address to a wallet or DAO other than the -DAO itself. This may be useful if you have a SubDAO that you want to receive -staking rewards instead. diff --git a/docs/quickstart/_category_.json b/docs/introduction/quickstart/_category_.json similarity index 64% rename from docs/quickstart/_category_.json rename to docs/introduction/quickstart/_category_.json index d06bba85..c7b37de0 100644 --- a/docs/quickstart/_category_.json +++ b/docs/introduction/quickstart/_category_.json @@ -1,4 +1,4 @@ { "label": "Quickstart", - "position": 2 + "position": 5 } diff --git a/docs/introduction/quickstart/congratulations.md b/docs/introduction/quickstart/congratulations.md new file mode 100644 index 00000000..00f49a62 --- /dev/null +++ b/docs/introduction/quickstart/congratulations.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +--- + +# Congratulations! + +You've created your own DAO. More importantly, you've learned the basics of DAO DAO. + +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. + +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/introduction/quickstart/create-a-dao.md b/docs/introduction/quickstart/create-a-dao.md new file mode 100644 index 00000000..8b4eea7a --- /dev/null +++ b/docs/introduction/quickstart/create-a-dao.md @@ -0,0 +1,85 @@ +--- +sidebar_position: 1 +--- + +# Create your first DAO + +For this tutorial, **we'll make a DAO for your reading group**. This will let folks in your reading group vote on which books to read, organize money for snacks, and so on. + +To keep things cheap, we'll do everything on the Osmosis testnet. Testnet tokens ($OSMO) have no value, and you can get some for free. More on that in a moment. + +## Install Leap + +To use DAO DAO you'll need a wallet. A wallet is your digital identity on a blockchain. There are many options, but a good choice is the [Leap wallet](https://www.leapwallet.io). You'll need to install that on your phone or browser before getting started. + +Once you've installed Leap, you need to create an account. To do this, open the Leap extension by pressing the puzzle piece icon in the top right of your browser and clicking on the Leap wallet extension. + +![puzzle icon](/img/quickstart/puzzle.png) + +![Leap wallet extension](/img/quickstart/leap-extension.png) + +Once you do that, you'll be directed to a page where you can create a new account. + +![Leap wallet extension](/img/quickstart/welcome-to-leap.png) + +Make sure to store your seed phrase somewhere only you'll be able to find it. This is the recovery key in case you ever need to recover your account, like if you lose your device. + +## Connect your wallet + +To make your first DAO, head to [testnet.daodao.zone](https://testnet.daodao.zone/) and connect your wallet by pressing the `Log in` button. + +Once logged in, you will see your Osmosis testnet address. Click on it to copy and save it for the next step. + +![Copy wallet address](/img/quickstart/wallet-copy-address.png) + +## Get some testnet $OSMO + +To get some testnet $OSMO, head over to [faucet.testnet.osmosis.zone](https://faucet.testnet.osmosis.zone) and paste your Osmosis address into the form. A bot should send you enough $OSMO to follow this tutorial. + +![Osmosis faucet](/img/quickstart/osmosis-faucet.png) + +:::tip + +We'll stick to the testnet for this tutorial, but once you're ready to build a real DAO, you'll need some mainnet tokens on any of the chains supported by DAO DAO. (The [mainnet version of DAO DAO](https://daodao.zone) is deployed on a handful of chains, including Osmosis mainnet). You can get $OSMO on some centralized exchanges, such as [Kraken](https://kraken.com), or on a decentralized exchange if you already have cryptocurrencies in the Cosmos ecosystem, like [Osmosis' DEX](https://osmosis.zone). + +::: + +## Create a DAO + +Navigate to the DAO creation page [on testnet](https://testnet.daodao.zone/dao/create?chain=osmo-test-5) (or [on mainnet](https://daodao.zone/dao/create), if that's your thing). + +## Name and describe your DAO + +Every DAO has a name and a description. These will be displayed in the DAO DAO UI and should communicate the purpose of the DAO to the world. + +Let's create a DAO called `Bookclub`. We'll make our DAO member-based for simplicity. + +![DAO title and description inputs](/img/quickstart/create-dao-title.png) + +:::tip + +To learn more about the differences between member- and token-based DAOs, read our documentation [here](../whats-a-dao.md#voting-power). + +::: + +## Add the initial members + +Now we can add the initial members of our DAO. If you're making this DAO with friends, add their Osmosis addresses during this step. Otherwise, you can start the DAO with only yourself and add new members via proposals later. + +![Member weights](/img/quickstart/create-dao-members.png) + +### Create DAO + +On the next screen, there are many configuration options available that determine how the DAO behaves. You can [read about the available voting configuration options](.../dao-governance/configuration/voting-config) if you like, but for now, we'll accept the defaults and create our DAO! + +![Review page](/img/quickstart/create-dao-review.png) + +Go ahead and press `Create DAO` in the bottom right. If you see an error here, make sure you have some $OSMO in your testnet wallet. + +Your wallet will ask you to approve the transaction. Approve it. + +![Wallet approval prompt](/img/quickstart/create-dao-wallet-approve.png) + +🎉 **Congratulations!** You've made a DAO! 🎉 + +![Created DAO home page](/img/quickstart/create-dao-done.png) diff --git a/docs/introduction/quickstart/create-a-proposal.md b/docs/introduction/quickstart/create-a-proposal.md new file mode 100644 index 00000000..d24ecbde --- /dev/null +++ b/docs/introduction/quickstart/create-a-proposal.md @@ -0,0 +1,45 @@ +--- +sidebar_position: 3 +--- + +# Create your first proposal + +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 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_. + +To begin, starting from your DAO's page, navigate to **Proposals > New Proposal**. + +![Create proposal button](/img/quickstart/create-proposal-button.png) + +Then, fill in the proposal's name and description. + +![Proposal creation form](/img/quickstart/create-proposal-form.png) + +:::tip Actions? + +You'll notice the `Actions` label there. [Proposal actions](.../dao-governance/proposals/what.md#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. + +::: + +## Ship it! + +Now that we're ready, go ahead and press **Publish**. Your wallet will prompt you to approve the transaction. + +Once you approve it, you'll see that your proposal is live! + +![Created proposal](/img/quickstart/create-proposal-done.png) + +Now that we've made a proposal, let's [vote on it](../voting). diff --git a/docs/introduction/quickstart/join-a-dao/_category_.json b/docs/introduction/quickstart/join-a-dao/_category_.json new file mode 100644 index 00000000..4c40d596 --- /dev/null +++ b/docs/introduction/quickstart/join-a-dao/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Join a DAO", + "position": 2 +} diff --git a/docs/quickstart/joining-leaving-member-based-dao.md b/docs/introduction/quickstart/join-a-dao/joining-leaving-member-based-dao.md similarity index 51% rename from docs/quickstart/joining-leaving-member-based-dao.md rename to docs/introduction/quickstart/join-a-dao/joining-leaving-member-based-dao.md index 0e9039ab..b779e72f 100644 --- a/docs/quickstart/joining-leaving-member-based-dao.md +++ b/docs/introduction/quickstart/join-a-dao/joining-leaving-member-based-dao.md @@ -1,29 +1,20 @@ --- -sidebar_position: 2 +sidebar_position: 1 --- # Joining and leaving a member-based DAO -As explained in [_What's a -DAO?_](../introduction/whats-a-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. +As explained in [_What's a DAO?_](.../whats-a-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 explanation -doc](/features/proposals/what) to understand how proposals work in DAOs -before proceeding. +You may want to read the [proposal explanation doc](..../dao-governance/proposals/what) 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**. +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. +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) @@ -35,18 +26,13 @@ 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. +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%. +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%. ::: @@ -54,8 +40,7 @@ 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. +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! @@ -63,19 +48,14 @@ Now that it has been executed, Meow is in the DAO! ## 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. +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. +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. +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/introduction/quickstart/join-a-dao/joining-leaving-token-based-dao.md b/docs/introduction/quickstart/join-a-dao/joining-leaving-token-based-dao.md new file mode 100644 index 00000000..510cb1f1 --- /dev/null +++ b/docs/introduction/quickstart/join-a-dao/joining-leaving-token-based-dao.md @@ -0,0 +1,62 @@ +--- +sidebar_position: 2 +--- + +# 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 DAOs, and there are a few things you need to learn before interacting with them. + +## Joining + +To join a token-based DAO, you must register to vote by staking governance tokens you obtain. Once you register to vote, you can vote on all future proposals. However, you _cannot_ vote on proposals that were created before you registered. This is a safety feature to ensure voting power remains constant once a proposal is created. + +To register to vote, first visit the DAO's home page. + +![Token-based DAO home page](/img/quickstart/token-based-home.png) + +On here you will see: + +- how many tokens you have staked +- how many tokens you have unstaked +- how many tokens are currently unstaking +- your voting power + +Click the `Stake` or `Manage... stake` button to stake your tokens. + +![Manage staking modal](/img/quickstart/manage-staking.png) + +By staking your tokens, you are registering those tokens as voting power. Any tokens you do not stake won't count towards your voting power. If you want your votes to matter as much as possible, you'll likely want to stake all of them. + +There are some situations where you may not want to stake all of your tokens. +For example: + +1. Some DAOs require a proposal deposit be paid in order to create a proposal, + in an effort to ensure a minimum level of commitment to a proposal. If you + plan on making a proposal, you may want to leave some tokens unstaked. +2. Some DAOs have an unstaking duration, which is the amount of time you must + wait after unstaking your tokens before those tokens are available to you. If + you are holding tokens in a DAO with a non-zero staking duration, and you + think you may want to sell or trade those tokens quickly in the future, you + may consider leaving some tokens unstaked. + +## Leaving + +To leave a token-based DAO, you must unstake all your tokens. + +![Staked token membership](/img/quickstart/staked-membership.png) + +Click the `Manage your stake` button, and select the `Unstake` tab. On that tab, select the `100%` button to fill in all your tokens, then press `Unstake` in the bottom right. + +![Manage staking unstake modal](/img/quickstart/manage-staking-unstake-all.png) + +Approve the transaction in your wallet. + +Once doing so, you will have to wait the unstaking duration before the tokens are available to you again. While you are waiting, you will also not be able to vote on proposals. + +![Unstaking token membership](/img/quickstart/your-membership-unstaking.png) + +![Unstaking token modal](/img/quickstart/unstaking-modal.png) + +After the unstaking duration, you will need to claim your tokens by clicking on the `Claim your ` button. After approving the transaction in your wallet, the tokens will be available to you. + +![Unstaked all membership](/img/quickstart/your-membership-nothing-staked.png) diff --git a/docs/introduction/quickstart/voting.md b/docs/introduction/quickstart/voting.md new file mode 100644 index 00000000..c8033120 --- /dev/null +++ b/docs/introduction/quickstart/voting.md @@ -0,0 +1,30 @@ +--- +sidebar_position: 4 +--- + +# Voting + +Now that everyone has joined the DAO and a [proposal has been made](../create-a-proposal), 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/docs/introduction/welcome-to-dao-dao.md b/docs/introduction/welcome-to-dao-dao.md index 58afd1c6..0740b8f8 100644 --- a/docs/introduction/welcome-to-dao-dao.md +++ b/docs/introduction/welcome-to-dao-dao.md @@ -4,56 +4,28 @@ sidebar_position: 1 # Welcome to DAO DAO -[DAO -DAO](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q) -is a DAO that builds DAOs. We build powerful, [open -source](https://github.com/DA0-DA0), DAO tooling. +[DAO DAO](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q) is a DAO that builds DAOs. We build powerful, [open source](https://github.com/DA0-DA0), DAO tooling. ## Why DAOs? -Decentralized Autonomous Organizations (DAOs) are programmable organizations -with rules and procedures governed by its members. DAOs can help manage -everything from an [Internet community of -dogs](https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju) -to the [development of entire -blockchains](https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/proposals). - -Because DAO DAO DAOs operate on a blockchain, they are transparent by default. -This means that votes, the voting power of members, and actions a DAO takes are -all publicly auditable. This can help provide trust that DAO members are being -good stewards of their communities. - -The programmability of DAOs makes them extremely flexible. DAO DAO is designed -as a set of [composable -components](https://github.com/DA0-DA0/dao-contracts/wiki/DAO-DAO-Contracts-Design), -essentially that can snap together like Lego blocks. Communities can pick and -choose among pre-built governance components to create a system that works well -for them, or they can program their own. - -Any kind of institution can be represented as a DAO. You can launch a business -or an investment group, found a school, manage an artist collective, or create a -popular assembly for your local community. Our hope is to build a platform where -the challenges of community formation and maintenance are social, not -bureaucratic nor costly. +Decentralized Autonomous Organizations (DAOs) are programmable organizations with rules and procedures governed by its members. DAOs can help manage everything from an [Internet community of +dogs](https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju) to the [development of entire blockchains](https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/proposals). + +Because DAO DAO DAOs operate on a blockchain, they are transparent by default. This means that votes, the voting power of members, and actions a DAO takes are all publicly auditable. This can help provide trust that DAO members are being good stewards of their communities. + +The programmability of DAOs makes them extremely flexible. DAO DAO is designed as a set of [composable components](https://github.com/DA0-DA0/dao-contracts/wiki/DAO-DAO-Contracts-Design), essentially that can snap together like Lego blocks. Communities can pick and choose among pre-built governance components to create a system that works well for them, or they can program their own. + +Any kind of institution can be represented as a DAO. You can launch a business or an investment group, found a school, manage an artist collective, or create a popular assembly for your local community. Our hope is to build a platform where the challenges of community formation and maintenance are social, not bureaucratic nor costly. ## Why DAO DAO? -DAO DAO helps you build and operate DAOs by providing a visual interface to -easily interact with the underlying smart contracts that run on the blockchain. -Ideally, DAO DAO abstracts away the complexities of blockchains and lets you -focus on your community. Usability and accessibility are a priority. Technical -and non-technical communities alike have a space here. +DAO DAO helps you build and operate DAOs by providing a visual interface to easily interact with the underlying smart contracts that run on the blockchain. Ideally, DAO DAO abstracts away the complexities of blockchains and lets you focus on your community. Usability and accessibility are a priority. Technical and non-technical communities alike have a space here. DAO DAO DAOs are -[IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol)-enabled, -meaning that your DAO can interact with and manage protocols and assets on any -IBC-enabled chain, like [Osmosis](https://osmosis.zone), -[Stargaze](https://stargaze.zone) and [Juno](https://junonetwork.io). +[IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol)-enabled, meaning that your DAO can interact with and manage protocols and assets on any IBC-enabled chain, like [Osmosis](https://osmosis.zone), [Stargaze](https://stargaze.zone) and [Juno](https://junonetwork.io). ## Where do I begin? -If you want to get started building a DAO, check out our -[Quickstart](/quickstart/create-a-dao.md) guide. +If you want to get started building a DAO, check out our [Create a DAO](../dao-management/create-a-dao.md) guide. -If you want to chat with like-minded people experimenting with new governance -tools, hop in our [Discord server](https://discord.daodao.zone). +If you want to chat with like-minded people experimenting with new governance tools, hop in our [Discord server](https://discord.daodao.zone). diff --git a/docs/introduction/whats-a-blockchain.md b/docs/introduction/whats-a-blockchain.md index 618f89b1..076e5c19 100644 --- a/docs/introduction/whats-a-blockchain.md +++ b/docs/introduction/whats-a-blockchain.md @@ -4,67 +4,37 @@ sidebar_position: 3 # What's a blockchain? -A blockchain is a database made of *blocks* of data, strung together to form a -*chain*. Quite literally, a blockchain is a chain of blocks. - -New data comes in piece by piece in the form of transactions. Each transaction -is added to a block, and each block is chained to the previous block, creating a -chronological ordering of events (or transactions). The canonical state of the -blockchain can be derived by replaying each block in order from the beginning. - -While blockchains can store any type of data, they are most commonly used to -produce a ledger: an append-only list of transactions. For example, Bitcoin's -blockchain stores all transactions that send tokens from one account (i.e. -wallet) to another. The balance of each account can be verified by looking at -all the transactions that involve that account, adding and subtracting -accordingly. - -Blockchains use cryptography and distributed computing algorithms to provide -immutability, meaning that data entered cannot be changed after the fact. For -Bitcoin, this means that transactions are permanently recorded and viewable by -anyone. +A blockchain is a database made of *blocks* of data, strung together to form a *chain*. Quite literally, a blockchain is a chain of blocks. + +New data comes in piece by piece in the form of transactions. Each transaction is added to a block, and each block is chained to the previous block, creating a chronological ordering of events (or transactions). The canonical state of the blockchain can be derived by replaying each block in order from the beginning. + +While blockchains can store any type of data, they are most commonly used to produce a ledger: an append-only list of transactions. For example, Bitcoin's blockchain stores all transactions that send tokens from one account (i.e. wallet) to another. The balance of each account can be verified by looking at all the transactions that involve that account, adding and subtracting accordingly. + +Blockchains use cryptography and distributed computing algorithms to provide immutability, meaning that data entered cannot be changed after the fact. For Bitcoin, this means that transactions are permanently recorded and viewable by anyone. # What's the interchain? -The interchain is a term used to describe interoperability between separate, -self-sovereign blockchains. Interchain blockchains take advantage of protocols, -like -[IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol), to -send tokens between each other. They can also pass any other data, but tokens -are a good example. +The interchain is a term used to describe interoperability between separate, self-sovereign blockchains. Interchain blockchains take advantage of protocols, like [IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol), to send tokens between each other. They can also pass any other data, but tokens are a good example. ## What's a self-sovereign blockchain? -[Layer 2](https://ethereum.org/en/layer-2/) blockchains are built on top of -layer 1 blockchains, like Ethereum. If a blockchain depends on another -blockchain to exist, which is the case for most layer 2 blockchains on Ethereum, -it is *not* self-sovereign. +[Layer 2](https://ethereum.org/en/layer-2/) blockchains are built on top of layer 1 blockchains, like Ethereum. If a blockchain depends on another blockchain to exist, which is the case for most layer 2 blockchains on Ethereum, it is *not* self-sovereign. -The [Cosmos ecosystem](https://cosmos.network) is comprised of many -self-sovereign (i.e. layer 1) blockchains that utilize the -[IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol) -protocol, allowing them to interact and participate in an interchain ecosystem, -much like the Internet. +The [Cosmos ecosystem](https://cosmos.network) is comprised of many self-sovereign (i.e. layer 1) blockchains that utilize the [IBC](https://www.coinbase.com/cloud/discover/dev-foundations/ibc-protocol) protocol, allowing them to interact and participate in an interchain ecosystem, much like the Internet. -While layer 2 blockchains can interact with their base layer, they are not -self-sovereign, because they cannot exist without it. Self-sovereign blockchains -are not dependent on any other blockchain. +While layer 2 blockchains can interact with their base layer, they are not self-sovereign, because they cannot exist without it. Self-sovereign blockchains are not dependent on any other blockchain. ## How do you send tokens between blockchains? Short answer: the **inter-blockchain communication (IBC)** protocol. -Before IBC, each blockchain was siloed. There was no way to send a token from -one self-sovereign blockchain to another. IBC allows chains to share data with -one another, including tokens. +Before IBC, each blockchain was siloed. There was no way to send a token from one self-sovereign blockchain to another. IBC allows chains to share data with one another, including tokens. You can dive deeper into IBC from [its website](https://www.ibcprotocol.dev/). :::tip -Since DAO DAO is IBC-native, your DAO's governance tokens can be shared across -any chain that supports IBC. Want your governance token to be tradeable on -[Osmosis](https://osmosis.zone)? DAO DAO can help with that! +Since DAO DAO is IBC-native, your DAO's governance tokens can be shared across any chain that supports IBC. Want your governance token to be tradeable on [Osmosis](https://osmosis.zone)? DAO DAO can help with that! ::: @@ -72,23 +42,18 @@ any chain that supports IBC. Want your governance token to be tradeable on Say Alice wants to send 10 ATOM from her chain to Bob's chain: -1. Bob and Alice each run a light client of the other, tracking headers, but not - replicating the chain's full state. +1. Bob and Alice each run a light client of the other, tracking headers, but not replicating the chain's full state. 2. Alice bonds 10 ATOM on Alice's chain. 3. Alice relays a proof to Bob that she has bonded 10 ATOM. -4. Bob verifies the proof. If valid, Bob creates 10 ATOM "vouchers" on his - chain. +4. Bob verifies the proof. If valid, Bob creates 10 ATOM "vouchers" on his chain. -The ATOM on Bob's chain is not real ATOM. They represent Alice's ATOM, and a -proof that those ATOMs are frozen. But Bob can "redeem" her vouchers for ATOM -anytime. So they're as good as ATOM! +The ATOM on Bob's chain is not real ATOM. They represent Alice's ATOM, and a proof that those ATOMs are frozen. But Bob can "redeem" her vouchers for ATOM anytime. So they're as good as ATOM! :::tip -Want to learn more about IBC? Check out the [Cosmos -docs](https://v1.cosmos.network/intro#designing-the-internet-of-blockchains). +Want to learn more about IBC? Check out the [Cosmos docs](https://v1.cosmos.network/intro#designing-the-internet-of-blockchains). ::: diff --git a/docs/introduction/whats-a-dao.md b/docs/introduction/whats-a-dao.md index 0389906d..fda16e95 100644 --- a/docs/introduction/whats-a-dao.md +++ b/docs/introduction/whats-a-dao.md @@ -4,126 +4,66 @@ sidebar_position: 2 # What's a DAO? -Decentralized Autonomous Organizations (DAOs) are collectively owned governance -systems whose governing software is cryptographically bound to obey the wishes -of its members. +Decentralized Autonomous Organizations (DAOs) are collectively owned governance systems whose governing software is cryptographically bound to obey the wishes of its members. ## Proposals -At its simplest, a DAO performs actions through a proposal process. Members -submit proposals to the DAO, which are then voted on by all members. These -proposals—their content, votes, and outcomes—are written to an immutable, public -ledger (e.g. a blockchain). Proposals can contain natural language (e.g. laws, -declarations, etc.), or they can contain software instructions (we call these -Actions in the DAO DAO UI). Thus DAOs can be used to govern anything from a -low-level software protocol to an entire legislature or government. +At its simplest, a DAO performs actions through a proposal process. Members submit proposals to the DAO, which are then voted on by all members. These proposals—their content, votes, and outcomes—are written to an immutable, public ledger (e.g. a blockchain). Proposals can contain natural language (e.g. laws, declarations, etc.), or they can contain software instructions (we call these Actions in the DAO DAO UI). Thus DAOs can be used to govern anything from a low-level software protocol to an entire legislature or government. -When a proposal is passed and executed by the members of the DAO, it becomes -canonical. Any actions within the proposal are executed on the blockchain and -take immediate effect. For example, once a proposal to pay someone's salary is -passed and executed, the salary is paid. +When a proposal is passed and executed by the members of the DAO, it becomes canonical. Any actions within the proposal are executed on the blockchain and take immediate effect. For example, once a proposal to pay someone's salary is passed and executed, the salary is paid. :::tip Real examples -[This -proposal](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A6) -in the DAO DAO DAO has a single action associated with it. Only because it was -passed and executed did it take effect. This action was responsible for -upgrading the DAO to v2.1 of the smart contracts, which brought new features. -Conversely, [this other -proposal](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1) -contained no actions and served only to ratify the constitution of the DAO. +[This proposal](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A6) in the DAO DAO DAO has a single action associated with it. Only because it was passed and executed did it take effect. This action was responsible for upgrading the DAO to v2.1 of the smart contracts, which brought new features. Conversely, [this other proposal](https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1) contained no actions and served only to ratify the constitution of the DAO. ::: -The DAO governance process can itself be modified through proposals. For -example, voting rules like the voting period length, or what proportion of -members need to vote yes to pass, can be modified by governance proposals. +The DAO governance process can itself be modified through proposals. For example, voting rules like the voting period length, or what proportion of members need to vote yes to pass, can be modified by governance proposals. -You can think of DAOs as a big game of -[Nomic](https://en.wikipedia.org/wiki/Nomic#:~:text=Nomic%20is%20a%20game%20in,done%20afterwards%2C%20and%20doing%20it.). -For example, [this -proposal](https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju/proposals/A9) -in Dog Dao updates the DAOs' voting rules to shorten the voting duration and, -thus, make proposals complete more quickly. +You can think of DAOs as a big game of [Nomic](https://en.wikipedia.org/wiki/Nomic#:~:text=Nomic%20is%20a%20game%20in,done%20afterwards%2C%20and%20doing%20it.). For example, [this proposal](https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju/proposals/A9) in Dog Dao updates the DAOs' voting rules to shorten the voting duration and, thus, make proposals complete more quickly. ## Voting power -Because DAOs are programmable, there are infinite mechanisms one could create to -determine a member's voting power. We have created three options that cover the -most common use cases of today: +Because DAOs are programmable, there are infinite mechanisms one could create to determine a member's voting power. We have created three options that cover the most common use cases of today: ### Members (multisig replacement) -We call the simplest form of DAO a member-based DAO. This type of DAO has -_static membership_, meaning that the DAO must pass a proposal to change its -members. Adding a new member, removing an existing member, and changing the -voting powers of existing members all must be voted on by existing members -through a proposal. In other words, no individual has the power to change the -membership of the DAO. +We call the simplest form of DAO a member-based DAO. This type of DAO has _static membership_, meaning that the DAO must pass a proposal to change its members. Adding a new member, removing an existing member, and changing the voting powers of existing members all must be voted on by existing members through a proposal. In other words, no individual has the power to change the membership of the DAO. -This is the DAO structure that replaces the -[multisig](https://www.coindesk.com/learn/what-is-a-multisig-wallet/). Multisigs -can be seen as an early form of a DAO since they solve some of the same issues. -Both offer the ability to require multiple people to approve an action, thus -allowing a group of people to manage assets and make decisions together. +This is the DAO structure that replaces the [multisig](https://www.coindesk.com/learn/what-is-a-multisig-wallet/). Multisigs can be seen as an early form of a DAO since they solve some of the same issues. Both offer the ability to require multiple people to approve an action, thus allowing a group of people to manage assets and make decisions together. ![Membership-based DAO members screenshot](/img/introduction/membership.png) ### Tokens -Some DAOs prefer a more fluid approach to membership, where members can join and -leave the DAO at-will. These DAOs use _governance tokens_ to determine voting -power such that anyone who owns (and stakes) tokens can submit proposals and -vote. These tokens are fungible and may be considered cryptocurrencies if traded -on a market. +Some DAOs prefer a more fluid approach to membership, where members can join and leave the DAO at-will. These DAOs use _governance tokens_ to determine voting power such that anyone who owns (and stakes) tokens can submit proposals and vote. These tokens are fungible and may be considered cryptocurrencies if traded on a market. -Governance tokens are by default freely transferrable, meaning any token holder -can send any amount of their tokens to someone else (thereby changing the -membership of the DAO). +Governance tokens are by default freely transferrable, meaning any token holder can send any amount of their tokens to someone else (thereby changing the membership of the DAO). :::tip Tokens are programmable -Through smart contracts on the blockchain, token behavior can be programmed. -Tokens, and thus voting power, can slowly unlock (i.e. vest) over time, or be -entirely frozen such that members cannot transfer to anyone else. Anything is -possible. +Through smart contracts on the blockchain, token behavior can be programmed. Tokens, and thus voting power, can slowly unlock (i.e. vest) over time, or be entirely frozen such that members cannot transfer to anyone else. Anything is possible. ::: -In some ways, governance tokens are analogous to shares in a corporation. -However, their programmability allows them to become something entirely new. +In some ways, governance tokens are analogous to shares in a corporation.However, their programmability allows them to become something entirely new. :::tip Hot take -Most DAOs do _not_ need a token. The blockchain ecosystem is token-heavy due to -the role cryptocurrencies have played in the blockchain narrative. +Most DAOs do _not_ need a token. The blockchain ecosystem is token-heavy due to the role cryptocurrencies have played in the blockchain narrative. -Tokens can bring undesirable attention, speculation, and financial expectations, -which may distract from the DAO's purpose. If you do use a token, make sure you -know why and who can acquire it. +Tokens can bring undesirable attention, speculation, and financial expectations, which may distract from the DAO's purpose. If you do use a token, make sure you know why and who can acquire it. -We encourage you to think deeply about whether or not the tradeoffs are worth -it, especially because you can always start as a member-based DAO and then -switch to being token-based later. +We encourage you to think deeply about whether or not the tradeoffs are worth it, especially because you can always start as a member-based DAO and then switch to being token-based later. ::: -In DAO DAO, tokens must be "staked" in order to be counted as voting power, -which is analogous to registering to vote. Staked tokens are non-transferrable. -When you want to access your tokens again (in order to transfer or use them -elsewhere), you must unstake them first. +In DAO DAO, tokens must be "staked" in order to be counted as voting power, which is analogous to registering to vote. Staked tokens are non-transferrable. When you want to access your tokens again (in order to transfer or use them elsewhere), you must unstake them first. -Most DAOs have unstaking durations configured, meaning there is a minimum amount -of time you must wait after unstaking your tokens before they are available to -you. During the unstaking period, the tokens do not count towards your voting -power, and you cannot transfer them. This adds a time cost to staking and -ensures a greater level of participatory commitment from a DAO's members. +Most DAOs have unstaking durations configured, meaning there is a minimum amount of time you must wait after unstaking your tokens before they are available to you. During the unstaking period, the tokens do not count towards your voting power, and you cannot transfer them. This adds a time cost to staking and ensures a greater level of participatory commitment from a DAO's members. ![Token-based DAO members screenshot](/img/introduction/tokens.png) ### NFTs -[Non-fungible tokens (NFTs)](https://en.wikipedia.org/wiki/Non-fungible_token) -are the non-fungible versions of tokens described above. DAOs that use NFTs to -determine voting power operate in the same way as token-based DAOs. +[Non-fungible tokens (NFTs)](https://en.wikipedia.org/wiki/Non-fungible_token) are the non-fungible versions of tokens described above. DAOs that use NFTs to determine voting power operate in the same way as token-based DAOs. diff --git a/docs/quickstart/congratulations.md b/docs/quickstart/congratulations.md deleted file mode 100644 index f6cd87b0..00000000 --- a/docs/quickstart/congratulations.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Congratulations! - -You've created your own DAO. More importantly, you've learned the basics of DAO -DAO. - -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. - -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-dao.md b/docs/quickstart/create-a-dao.md deleted file mode 100644 index e37c0263..00000000 --- a/docs/quickstart/create-a-dao.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Create your first DAO - -For this tutorial, **we'll make a DAO for your reading group**. This will let -folks in your reading group vote on which books to read, organize money for -snacks, and so on. - -To keep things cheap, we'll do everything on the Osmosis testnet. Testnet tokens -($OSMO) have no value, and you can get some for free. More on that in a moment. - -## Install Leap - -To use DAO DAO you'll need a wallet. A wallet is your digital identity on a -blockchain. There are many options, but a good choice is the [Leap -wallet](https://www.leapwallet.io). You'll need to install that on your phone or -browser before getting started. - -Once you've installed Leap, you need to create an account. To do this, open the -Leap extension by pressing the puzzle piece icon in the top right of your -browser and clicking on the Leap wallet extension. - -![puzzle icon](/img/quickstart/puzzle.png) - -![Leap wallet extension](/img/quickstart/leap-extension.png) - -Once you do that, you'll be directed to a page where you can create a new -account. - -![Leap wallet extension](/img/quickstart/welcome-to-leap.png) - -Make sure to store your seed phrase somewhere only you'll be able to find it. -This is the recovery key in case you ever need to recover your account, like if -you lose your device. - -## Connect your wallet - -To make your first DAO, head to -[testnet.daodao.zone](https://testnet.daodao.zone/) and connect your wallet by -pressing the `Log in` button. - -Once logged in, you will see your Osmosis testnet address. Click on it to copy -and save it for the next step. - -![Copy wallet address](/img/quickstart/wallet-copy-address.png) - -## Get some testnet $OSMO - -To get some testnet $OSMO, head over to -[faucet.testnet.osmosis.zone](https://faucet.testnet.osmosis.zone) and paste -your Osmosis address into the form. A bot should send you enough $OSMO to follow -this tutorial. - -![Osmosis faucet](/img/quickstart/osmosis-faucet.png) - -:::tip - -We'll stick to the testnet for this tutorial, but once you're ready to build a -real DAO, you'll need some mainnet tokens on any of the chains supported by DAO -DAO. (The [mainnet version of DAO DAO](https://daodao.zone) is deployed on a -handful of chains, including Osmosis mainnet). You can get $OSMO on some -centralized exchanges, such as [Kraken](https://kraken.com), or on a -decentralized exchange if you already have cryptocurrencies in the Cosmos -ecosystem, like [Osmosis' DEX](https://osmosis.zone). - -::: - -## Create a DAO - -Navigate to the DAO creation page [on -testnet](https://testnet.daodao.zone/dao/create?chain=osmo-test-5) (or [on -mainnet](https://daodao.zone/dao/create), if that's your thing). - -## Name and describe your DAO - -Every DAO has a name and a description. These will be displayed in the DAO DAO -UI and should communicate the purpose of the DAO to the world. - -Let's create a DAO called `Bookclub`. We'll make our DAO member-based for -simplicity. - -![DAO title and description inputs](/img/quickstart/create-dao-title.png) - -:::tip - -To learn more about the differences between member- and token-based DAOs, read -our documentation [here](/introduction/whats-a-dao.md#voting-power). - -::: - -## Add the initial members - -Now we can add the initial members of our DAO. If you're making this DAO with -friends, add their Osmosis addresses during this step. Otherwise, you can start -the DAO with only yourself and add new members via proposals later. - -![Member weights](/img/quickstart/create-dao-members.png) - -### Create DAO - -On the next screen, there are many configuration options available that -determine how the DAO behaves. You can [read about the available voting -configuration options](/configuration/voting) if you like, but for now, we'll -accept the defaults and create our DAO! - -![Review page](/img/quickstart/create-dao-review.png) - -Go ahead and press `Create DAO` in the bottom right. If you see an error here, -make sure you have some $OSMO in your testnet wallet. - -Your wallet will ask you to approve the transaction. Approve it. - -![Wallet approval prompt](/img/quickstart/create-dao-wallet-approve.png) - -🎉 **Congratulations!** You've made a DAO! 🎉 - -![Created DAO home page](/img/quickstart/create-dao-done.png) diff --git a/docs/quickstart/create-a-proposal.md b/docs/quickstart/create-a-proposal.md deleted file mode 100644 index e743ed55..00000000 --- a/docs/quickstart/create-a-proposal.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Create your first proposal - -After [creating a DAO for your book club](/quickstart/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 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_. - -To begin, starting from your DAO's page, navigate to **Proposals > New -Proposal**. - -![Create proposal button](/img/quickstart/create-proposal-button.png) - -Then, fill in the proposal's name and description. - -![Proposal creation form](/img/quickstart/create-proposal-form.png) - -:::tip Actions? - -You'll notice the `Actions` label there. [Proposal -actions](/features/proposals/what#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. - -::: - -## Ship it! - -Now that we're ready, go ahead and press **Publish**. Your wallet will prompt -you to approve the transaction. - -Once you approve it, you'll see that your proposal is live! - -![Created proposal](/img/quickstart/create-proposal-done.png) - -Now that we've made a proposal, let's [vote on it](/quickstart/voting). diff --git a/docs/quickstart/voting.md b/docs/quickstart/voting.md deleted file mode 100644 index d52569bd..00000000 --- a/docs/quickstart/voting.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -sidebar_position: 5 ---- - -# Voting - -Now that everyone has joined the DAO and a [proposal has been -made](/quickstart/create-a-proposal), 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/docs/upgrading/_category_.json b/docs/upgrading/_category_.json index a00af4ec..127f2bcc 100644 --- a/docs/upgrading/_category_.json +++ b/docs/upgrading/_category_.json @@ -1,4 +1,4 @@ { - "label": "Upgrading", - "position": 6 + "label": “Advanced Features & Upgrades”, + "position": 4 } diff --git a/docusaurus.config.js b/docusaurus.config.js index 6a17eaed..7c555d27 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -68,7 +68,7 @@ const config = { items: [ { type: "doc", - docId: "quickstart/create-a-dao", + docId: "introduction/quickstart/create-a-dao", position: "left", label: "Quickstart", }, diff --git a/static/img/dao-management/auto-accept1.png b/static/img/dao-management/auto-accept1.png new file mode 100644 index 00000000..964b4b7a Binary files /dev/null and b/static/img/dao-management/auto-accept1.png differ diff --git a/static/img/dao-management/change-appearance1.png b/static/img/dao-management/change-appearance1.png new file mode 100644 index 00000000..867deeef Binary files /dev/null and b/static/img/dao-management/change-appearance1.png differ diff --git a/static/img/dao-management/change-appearance2.png b/static/img/dao-management/change-appearance2.png new file mode 100644 index 00000000..8eaafb6b Binary files /dev/null and b/static/img/dao-management/change-appearance2.png differ diff --git a/static/img/dao-management/change-appearance3.png b/static/img/dao-management/change-appearance3.png new file mode 100644 index 00000000..110e8931 Binary files /dev/null and b/static/img/dao-management/change-appearance3.png differ diff --git a/static/img/dao-management/change-appearance4.png b/static/img/dao-management/change-appearance4.png new file mode 100644 index 00000000..0b495350 Binary files /dev/null and b/static/img/dao-management/change-appearance4.png differ diff --git a/static/img/dao-management/change-appearance5.png b/static/img/dao-management/change-appearance5.png new file mode 100644 index 00000000..c33dc41a Binary files /dev/null and b/static/img/dao-management/change-appearance5.png differ diff --git a/static/img/dao-management/change-appearance6.png b/static/img/dao-management/change-appearance6.png new file mode 100644 index 00000000..52037885 Binary files /dev/null and b/static/img/dao-management/change-appearance6.png differ diff --git a/static/img/dao-management/placeholder b/static/img/dao-management/placeholder new file mode 100644 index 00000000..48cdce85 --- /dev/null +++ b/static/img/dao-management/placeholder @@ -0,0 +1 @@ +placeholder diff --git a/static/img/dao-management/vesting1.png b/static/img/dao-management/vesting1.png new file mode 100644 index 00000000..d0b48529 Binary files /dev/null and b/static/img/dao-management/vesting1.png differ diff --git a/static/img/dao-management/vesting3.png b/static/img/dao-management/vesting3.png new file mode 100644 index 00000000..e7f82139 Binary files /dev/null and b/static/img/dao-management/vesting3.png differ diff --git a/static/img/dao-management/vesting4.png b/static/img/dao-management/vesting4.png new file mode 100644 index 00000000..bcbd9b07 Binary files /dev/null and b/static/img/dao-management/vesting4.png differ