Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SYN-86 Create-DAO guide docs #5

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions pages/dao.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sidebar_position: 1
---

# Creating DAOs

Creating a DAO is a great way to leverage the power of blockchain technology to manage a community or a project. Here's a step-by-step tutorial on how to create a DAO using Syncra platform:

### Connect your wallet

Before creating a DAO, you'll need to have a wallet that can connect to the blockchain. You can use polkadot{.js} wallet extension to connect to Syncra dApp.

![connecting wallet](/img/wallets-modal.png)

### Create DAO

Once you have connected your wallet, you can start creating your DAO.

![create DAO](/img/create-dao.png)
5 changes: 4 additions & 1 deletion pages/dao/_meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"creating-dao": "Creating DAO"
"basic-configuration": "Basic Configuration",
"strategy-configuration": "Strategy Configuration",
"dao-roles": "Roles in DAO",
"deployment": "Deployment"
}
7 changes: 7 additions & 0 deletions pages/dao/basic-configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### Provide Information

You'll need to provide some basic information about your DAO, such as its name, logo, background image, and social media links. This information is used to represent your DAO on the blockchain and make it easily recognizable to other users.

![DAO Info](/img/dao-info.png)

![DAO Socials](/img/dao-socials.png)
55 changes: 0 additions & 55 deletions pages/dao/creating-dao.md

This file was deleted.

18 changes: 18 additions & 0 deletions pages/dao/dao-roles.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { Card } from 'nextra/components'
import { FaArrowRight } from "react-icons/fa";
import {Callout} from 'nextra-theme-docs'

### DAO Management Roles
There are two managment roles in DAO:

![DAO Strategies](/img/dao-roles.png)

#### Admin
The admin role allows to assign and revoke managers and admin roles.
<Callout type="info">
When creating a governance token along with DAO, the specified admin wallet is granted admin rights in the governance token smart contract. See [Enabling Governance Token](/dao/strategy-configuration/token-strategy).
</Callout>

#### Manager
The manager role grants the authority to modify DAO parameters. It is recommended to establish this role during the initial phases of DAO operation. Subsequently, this role can be revoked, and adjustments to DAO parameters can be made through proposals and participant voting.
In a Wallet-based DAO, it can assign new members or remove others.
5 changes: 5 additions & 0 deletions pages/dao/deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Confirm your choices and create your DAO

Once you have provided all the necessary information, you can review your choices and confirm your decision to create your DAO. After confirming your decision, your DAO will be created and visible on the blockchain. You can now start managing your community or project through your DAO.

![deploy button](/img/deploy.png)
23 changes: 23 additions & 0 deletions pages/dao/strategy-configuration.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { Card } from 'nextra/components'
import { FaArrowRight } from "react-icons/fa";

### Choose your strategy

There are two main strategies to choose from when creating a DAO: Token-based or Wallet-based. Token-based DAOs are based on the PSP22 standard, which allows for the creation of custom tokens that can be used to represent ownership or voting rights in the DAO. Wallet-based DAOs, on the other hand, are based on a list of approved wallets that can participate in the DAO.

![DAO Strategies](/img/strategy-dao.png)

#### Token-based Strategy

If you decide to go with **Token-based** strategy, you will be asked to either provide an address of the existing PSP22 token, or create one within our UI.

#### Wallet-based Strategy

In case of **Wallet-based** voting, please provide a list of (AlephZero based) wallet addresses eligible for voting.

**NOTE:** Please be aware of the fact that selected DAO Strategy (Token Holders or Addresslist), will also impact the available Voting Strategies in the DAO.

<ul className='flex flex-col gap-2 mt-2'>
<Card icon={<FaArrowRight />} title="Token-based Strategy" href="/strategies/token-strategy" />
<Card icon={<FaArrowRight />} title="Wallet-based Strategy" href="/strategies/wallet-strategy" />
</ul>
5 changes: 5 additions & 0 deletions pages/dao/strategy-configuration/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"token-strategy": "Enabling Governance Token",
"wallet-strategy": "Enabling DAO Members",
"voting-rules": "Voting Rules"
}
21 changes: 21 additions & 0 deletions pages/dao/strategy-configuration/token-strategy.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {Callout} from 'nextra-theme-docs'

## Enabling Governance Token
When choosing Token-based strategy for your DAO, you can use an existing PSP22 token or create a new token.

![DAO Strategies](/img/token-choice.png)

### Exisiting token
To use an existing token you must provide a valid address to a smart contract which implements PSP22 standard.

![DAO Strategies](/img/existing-token.png)

### Create a new token
If you opt to create a new token, you must provide some basic information about the token such as: token name, token symbol and a number of decimals.
In the same step, you can setup an initial token distribution.
Finally, add wallet addresses which should be granted to mint the token in the future.
<Callout type="info">
The specified minters can be later revoked by the smart contract admin. See [Roles in DAO](/dao/dao-roles).
</Callout>

![DAO Strategies](/img/new-token.png)
32 changes: 32 additions & 0 deletions pages/dao/strategy-configuration/voting-rules.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import {Callout} from 'nextra-theme-docs'

### Set up Voting Rules

In this section, you can adjust the voting rules in your DAO.

![proposal rules](/img/proposal-voting-rules.png)

#### Quorum
The qourum parameter tells how many votes must be cast on a proposal to validate voting.
For Token-based strategy, it is the percent of the token total supply.
For Wallet-based strategy, it is the percent of the total number of DAO members.
<Callout type="info">
Note that the calculations are performed on unsigned integer values. The final calculations result is rounded up. For example:<br/>
49% * 4 = 2<br/>
51% * 4 = 3<br/>
</Callout>

#### Proposal Threshold
Proposal Threshold is the percentage of the overall voting power (token supply or no. of members) necessary to permit the creation of a proposal by a wallet.
<Callout type="info">
Note that for Wallet-based DAOs, Proposal Threshold may require more than one voting power (each member owns exactly one voting power). In this case, only members who received enough delegations may create proposals.
</Callout>

#### Minimum and Maximum Voting Period
These parameters restrict the period of voting time which can be set by a proposal creator.

#### Voting Delay
The time gap between creating a proposal and opening it for voting.

#### Execution Delay
The minimum time interval between the conclusion of voting and the implementation of the voting resolution.
6 changes: 6 additions & 0 deletions pages/dao/strategy-configuration/wallet-strategy.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
### Enabling DAO Members
When creating a Wallet-based DAO, you can add initial members. This information is used to ensure that only approved participants can participate in the DAO and have voting or ownership rights.



![DAO Strategies](/img/add-members.png)
Binary file added public/img/add-members.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/img/dao-info.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/img/dao-roles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/img/dao-socials.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/img/existing-token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/img/new-token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/img/proposal-voting-rules.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/img/strategy-dao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/img/token-choice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.