Giter Club home page Giter Club logo

essydao's Introduction

Easy DAO

Website URL

Frontend Repo

1. Introduction

The Easy DAO project empowers users to effortlessly establish their own DAO (requiring a minimum of three participants). Subsequently, users can harness functionalities such as proposals and voting, enabling them to seamlessly experience the benefits of blockchain, including decentralization, transparency, and immutability.

In addition to the fundamental features mentioned earlier, each DAO can tailor additional functionalities to meet its specific needs. For example, if a trusted individual is preferred to manage specific functions, consider upgrading to the Ownership feature. For those aiming to distribute dividends to all governance token holders, upgrading to the Dividend feature is essential. Moreover, for those seeking to raise funds for larger endeavors and enable their DAO to support the receipt and transfer of NFTs and ERC20 tokens, the Vault feature is a key asset.

In summary, embark on the journey of decentralized decision-making and empowerment with us.

2. Contracts Architecture

Architecture

2.1 Diamond Factory

The Factory contract serves as the initial interaction for users looking to create a DAO. To create a DAO, users need to provide parameters such as DAO name, token name, token symbol, founder data (a minimum of 3 individuals), and the initial token quantity for each founder. With these parameters, users can deploy a DAO contract through the Factory contract.

It's worth mentioning that the project owner will be the admin role of Factory contract during deployment. Subsequently, when each DAO has upgrade capabilities, 0.06 ETH will be transferred to the Factory contract. The project owner can execute the withdraw function to retrieve the funds.

Create DAO

2.2 Diamond (DAO)

Each DAO is represented by a Diamond contract, which, by default, includes three logical contracts (Facets):

  • DAO Facet: The DAO Facet provides functionalities for proposing and voting. It inherits from ERC20 snapshot, allowing it to record the historical state of tokens. When creating a proposal, the DAO Facet records the balance and total supply of the previous block, using these values as the basis for voting. Each voter's stake is determined by the formula: BalanceAtSnapshot / TotalSupplyAtSnapshot.

Proposal and Vote

  • Diamond Loupe Facet: The Diamond Loupe Facet enables querying of the current Facets and available functions.

  • Diamond Cut Facet: The Diamond Cut Facet empowers the addition and removal of Facets for the Diamond contract. It is a crucial contract that enables DAOs to upgrade their functionalities.

Upgrade By Proposal

2.3 Optional Facets

After establishing a DAO, users can upgrade optional Facets through proposals:

  • Ownership Facet: If there is a desire to appoint a person trusted by everyone as the Owner, upgrading this Facet allows future upgrades to be determined solely by the Owner, bypassing the proposal and voting process.

Ownership Facet

  • Dividend Facet: To implement a dividend system for all governance token holders (organization members), this Facet can be upgraded. Users can set the annual interest rate and duration, and the system will adopt a linear release method. Holders can proportionally claim the amount available at that time. Similar to proposals, a snapshot is taken when executing this upgrade, and the total amount available for distribution is allocated based on the token quantities held at that time.

Dividend Facet

  • Vault Facet: The original DAO lacks support for receiving any ERC20 and NFT functionalities. If tokens are accidentally transferred into the contract, they may become stuck. Upgrading the Vault Facet not only rescues trapped funds but also introduces fundraising capabilities. Users can crowdfund in ETH or ERC20 tokens to contribute to the growth of the organization.

Vault Facet

2.4 Market

Most organizations are likely to be niche and may have limited liquidity. If you wish to give strangers the opportunity to join the organization or exchange governance tokens for ETH, you can utilize our provided market. This market allows you to either auction tokens to the highest bidder or sell them at a fixed price. It's also a great method for those who simply want to join the organization by contributing financially. Using the market is a viable option!

Market

essydao's People

Contributors

edward821220 avatar

Stargazers

Kuan-Hao Chen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.