Skip to content

scale-it/sigmadao

Repository files navigation

A decentralized autonomous organization (DAO) is an entity with no central leadership. Decisions get made from the bottom-up, governed by a community organized around a specific set of rules enforced on a blockchain. DAOs are internet-native organizations collectively owned and managed by their members. They have built-in treasuries that are only accessible with the approval of their members. Decisions are made via proposals the group votes on during a specified period.

A DAO is usually implemented using blockchain smart contracts:

  • organization is managed by a defined group
  • blockchain and smart contracts is a trustless execution layer where rules and decisions are recorded
  • decisions are usually made by voting.

In this template, We are going to implement a DAO, where the members are defined by ASA holding (1 ASA = 1 voting power): each token holder is a DAO member and can participate equally in the governance.

Functionality

DAO is managed by DAO members identified by a governance token. DAO functions by creating proposals:

  • Everyone can create a proposal. To avoid a spam, a deposit of the gov tokens is required. The deposit is returned once the proposal is finished.
  • There are 3 types of a proposal: text, Algo transfer, Asset transfer.
  • Every gov token holder can vote in a proposal.
  • Once proposal passes, anyone can trigger proposal execution.

Spec document

Please read the Sigma DAO specification for more details about each use case.

Smart Contract

See contracts/README information how the smart contracts are setup and how to create a DAO. The project is created using Algo Builder.

Setup

Requirements:

  • Sigma DAO Indexer: a customized Algorand Indexer for Sigma DAO (we removed all unnecessary transactions and records from the indexer DB). See indexer_setup/README for additional instructions required for running Indexer with SigmaDAO webserver.
  • Algorand Archival Node: unfortunately Algorand Indexer requires an Algoran Archival Node, and we didn't went that deep with the Sigma DAO Indexer modifications to remove that dependency. We hope that this requirement will change in the future.
  • Service to host Vue.js web UI (dapp).
  • Node.js webserver: the web UI sources data through graphql interface provided by the webserver.

Dapp

SigmaDAO Dapp is a web application that lets anyone create a DAO, enable them to Add Proposal, Deposit and Withdraw Tokens and also allow them to Vote.

Wallets supported by the SigmaDAO are:

To setup the SigmaDAO website follow the steps in dapp/README.md.