Creating/leveraging DAO DAO

Creating/leveraging DAO DAO

Disclaimer - This is part of our outside perspective series. Curious Cosmonaut Research is not the author we are simply highlighting some good threads and perspectives on the Cosmos ecosystem with their permission. We also, therefore, do not guarantee their accuracy.

Author: DAO DAO Team

Source: Docs

Date: 1/5/2023

This is to showcase based on their website DAO DAO tutorials but visit the website to make sure you have the most up to date information.

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 Juno testnet. These testnet tokens have no value, and you can get some for free in Juno's Discord. More on that in a moment.

Install Keplr

To use DAO DAO you'll need a wallet. A wallet is your digital identity on the blockchain. DAO DAO uses the Keplr wallet. You'll need to install that before getting started.

Once you've installed Keplr you'll need to create an account. To do this open the Keplr extension by pressing the puzzle piece icon in the top right of your browser and clicking on the Keplr logo. Once you do that you'll be directed to a page where you can create a new account.

Make sure to store your seed phrase somewhere only you'll be able to find it.

If you'd like a video walkthrough of this DAO DAO member @case has made a nice one you can find here.

Connect your wallet

To make your first DAO, head to testnet.daodao.zone and connect your Keplr wallet by pressing the connect wallet button in the top left.

Get some $JUNOX

To get some $JUNOX (testnet $JUNO), join the Juno Discord and put your Juno address in the #faucet channel by sending a message in the form $request <your address>. A bot should airdrop you enough $JUNOX to follow this tutorial.

You can get your Juno testnet address by pressing the copy icon on the wallet display in the DAO DAO sidebar once you're connected.

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 $JUNO. (The mainnet version of DAO DAO is deployed on the Juno chain). You can get Juno on Kraken, or on a decentralized exchange like Osmosis or Junoswap.

Create a DAO

Navigate to the DAO creation page. You will see the basic configurations for your DAO.

Name and describe your DAO

Every DAO has a name and a description. These will be displayed in the DAO DAO UI and on the chain. These don't need to be unique.

Let's create a DAO called "Bookclub." We'll make our DAO a membership based DAO (as opposed to a token-based DAO, in which voting weight is allocated via governance tokens, which act as fungible shares).

TIP

To learn more about the differences between membership- and token-based DAOs, read our documentation here.

Add the initial menbers

Now we can add the initial members of our DAO. If you're making this DAO with friends, add their Juno addresses during this step. Otherwise, you can start the DAO with only yourself and add new members via proposals later.

TIP

To find your Juno address, open Keplr, press the dropdown at the top and select "Juno Testnet", and click on your address to copy it to your clipboard.

Create DAO

You'll notice some additional configuration here as well. You can read about those voting configurations if you like. For now, we'll accept the defaults for now and create our DAO!

Go ahead and press "Create DAO."

Keplr will ask you to approve the transaction. Approve it.

🎉 Congratulations! You've made a DAO! 🎉

Continue on to learn how to manage it.

Joining a token-based DAO

The DAO we previously created was not a token based DAO. While you're using DAO DAO you are likely to encounter DAOs that are token based. This page walks through that process.

To join a token based DAO you must "register to vote" by staking your governance tokens with the DAO. Once you are registered to vote you can vote on all future proposals, but you cant go back and vote on proposals that were created before you registered.

To register to vote, visit your DAO's page on DAO DAO and look in the right sidebar:

From here you can press the "Stake tokens" button and a modal will appear asking how many you'd like to stake:

By staking your tokens, you are registering those tokens for voting. 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 that some tokens are deposited to create a proposal. If you plan on making a proposal, you may leave one deposit worth of tokens unstaked.
  2. Some DAOs have an unstaking duration, defined as 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.

Create your first proposal

After creating a DAO for your bookclub I'm sure you're busy telling all of your friends to download Keplr so they can join you. Once they join your DAO and the wonderful world of the Cosmoverse, why don't we make a governance proposal for them?

Let's create a proposal to decide what book to read.

NOTE

If you create your proposal before your friends join they won't be able to vote on it as they won't have registered to vote in time. Make sure that everyone has joined the DAO and staked their tokens before making your proposal.

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 > Create.

MESSAGES?

You'll notice the Messages tag there. Proposal messages allow you to add rich scripting capabilities to proposal messages—commands that execute on the chain when the proposal passes.

The proposal we have here is more of a social contract. We don't need anything to change in code.

Ship it!

Now that we're ready, go ahead and press Create proposal. Keplr will again ask you to approve the transaction.

Once you approve it, you'll see your proposal is live!

Now that we've made a proposal, let's vote on it.

Voting

Now that everyone has joined the DAO and a proposal has been made you can vote on it!

Vote yes!

Go ahead and vote yes on your new proposal and approve the transaction in Keplr. Once your fellow DAO members vote as well the proposal will pass or fail depending on what everyone thinks of the book. :)

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 combining proposal messages and treasury actions, you can create complex incentive structures. The limit is your imagination and your ability to organize!

Anything unclear or buggy in this tutorial? Please report it!

overnance proposals

Governance proposals are how DAOs change their state. Governance proposals are composed of three components: a title, a description, and proposal messages.

Proposal messages are where things get interesting. Proposal messages are "transactions" that will get executed if the proposal is passed. As a simple example: a proposal message could pay a contributor.

INFO

The word "transaction" above may be a little confusing if you're new to blockchains and smart contracts. Transactions on a blockchain are what update the chain's state. They can do all sorts of things. For example a transaction can:

Truly, anything that you can do on a blockchain you can do automatically and via governance with DAO DAO.

Title

This is the human-readable title of your proposal. It will appear in voting screens.

Description

This is the human-readable description of your proposal. You can use Markdown syntax for rich formatting.

Proposal messages

Proposal messages are actions that execute when the proposal passes. These messages let you do things like mint new governance tokens, spend from the shared treasury, and more.

DAO DAO has a number of predefined message templates which mean that, for the most part, you can create proposals without needing to actually write out the transactions that you'd like executed should it pass. If you're doing something custom, you can always use a custom message. If you'd like to contribute a message template to DAO DAO you can do that too!

Voting

For any given proposal, your voting power is determined by how many tokens you had registered to vote at the time the proposal was created.

You may be wondering: why is your voting weight determined by your voting weight at the time the proposal was launched? If we didn't have this feature, DAOs with lots of tokens listed on exchanges could be vulnerable to an attack: someone could buy lots of the DAOs tokens, manipulate the vote, then sell the tokens immediately afterward. Assuring tokens were registered at proposal creation time assures that a DAO members knows to whom they are making the proposal: the people who have tokens registered at the moment the proposal goes live.

Voting configuration

You can change the parameters of voting on your DAO in a variety of ways. These parameters can be set when you create a DAO, and can be modified after the fact by governance proposals.

Quorum

Quorum is the proportion of all staked tokens that must vote for a proposal to pass. For example, if quorum is set to 33%, then a proposal can only pass when 33% of staked tokens have voted. As with voting, quorum is calculated based on staked tokens at the time of proposal creation.

CAUTION

Threshold and quorum are not the same. Threshold is about the proportion of "yes" votes a proposal requires. Quorum is about the "voter turnout" a proposal requires.

Passing threshold (%)

Passing threshold can work differently depending on whether or not your DAO has set a quorum.

  • Threshold of voting weight. If your DAO has no quorum set, this is the percentage of the DAO's voting weight that must vote "yes" for a proposal to pass. For example, if threshold is set to 51%, then a proposal must achieve 51% "yes" votes to pass.
  • Threshold of quorum. If your DAO has a quorum set, the passing percentage is only calculated among those who voted. For example, with a quorum of 50% and a passing threshold of 50%, a proposal could pass with only 25% of the total voting weight having voted "yes." Imagine: 50% of the voting weight votes on the proposal. The proposal has passed quorum. Of those that do vote, 50% vote "yes." Abstain and no split the rest of the vote. "Yes" will have won the vote with a 50% threshold of quorum, even though only 25% of the voting weight was represented in the vote.

Voting duration (seconds)

This is how long proposals remain open for voting.

Proposal deposit

This is how many tokens someone must put down to create a proposal. DAOs may be configured not to refund proposal deposits if the proposal fails. If you are worried about spam in your DAO, you may want to enable this.

Unstaking duration

After someone stakes tokens in your DAO, those tokens cannot be immediately unstaked. The duration for which they remain bonded after intending to unstake is determined by the unstaking duration.