The Standard DAO Framework, including Whitepaper
TeX Python Solidity JavaScript
Clone or download
Permalink
Failed to load latest commit information.
deploy Merge pull request #213 from isghe/update_deploy_readme Nov 2, 2016
libs Update oraclize.sol Jul 3, 2018
paper Merge pull request #262 from mrefish/patch-1 Nov 2, 2016
tests Compile&Deploy PFOffer and DTHPool only if needed Nov 14, 2016
.gitattributes Create .gitattributes Jul 3, 2018
.gitignore Some fixes in DTH pool tests Jun 10, 2016
.travis.yml Disable travis email notifications Jun 9, 2016
DAO.sol separate Token contract from DAO contract Nov 29, 2016
DAOTokenCreationProxyTransferer.sol Reword Sale -> Creation and Buy -> Create Apr 18, 2016
DTHPool.sol DTHPool Contract added. See README_DTHPool.md for more info. Jun 7, 2016
LICENSE change license file to be a full copy of LGPL Mar 2, 2016
Offer.sol Use uint const for split Grace period Jun 11, 2016
PFOffer.sol Modify tests to use the new offer variable names Jun 11, 2016
README.md Update README.md Aug 17, 2017
README_DTHPool.md Image added to the readme Jun 8, 2016
RewardOffer.sol add splt grace period to offer.sol Jun 11, 2016
Token.sol separate Token contract from DAO contract Nov 29, 2016
TokenCreation.sol separate Token contract from DAO contract Nov 29, 2016
USNRewardPayOut.sol Separate ProposalFramework Offer and the rest Jun 2, 2016
simpleWithdraw.sol change wording: Refund -> Withdraw in filenames Nov 14, 2016
simpleWithdrawTrustee.sol uopdate simpleWithdrawTrustee Nov 14, 2016
withdraw.sol change wording: Refund -> Withdraw in filenames Nov 14, 2016
withdrawBlack.sol change wording: Refund -> Withdraw in filenames Nov 14, 2016

README.md

Decentralized Autonomous Organization (DAO) Framework

Build Status

What is it?

Note: this is currently not maintained - do not use it as is.

A Standard Decentralized Autonomous Organization (DAO) framework written in Solidity to run on the Ethereum blockchain.

Feel free to reuse this framework to create your own Decentralized Autonomous Organization.

Reference: "Decentralized autonomous organization to automate governance" - White Paper - Primer

Disclaimer

The future remains a work in progress. Our vision exists in a world where laws vary widely. It is important to remember that anyone who uses the generic DAO framework including the DAO refered to as 'The DAO' or any other DAO will do so at their own risk. One can only speculate about the legal status of DAOs worldwide. Whatever one’s personal beliefs may be, people must draw their own conclusions, relying on legal advice where appropriate. The authors are not a law firm and are not in the business of offering legal advice.

If you create a DAO it will be your DAO, and you will be responsible for its operation.

Overview

Our Standard DAO Framework allows people to create Decentralized Autonomous Organizations (DAOs) governed by the code in this repository written immutably to the blockchain.

We are making the Standard DAO Framework we developed free and open source, so it can be reused by anyone wishing to put together a transparent organization where governance and decision making systems are immutably programmed in the Ethereum blockchain. This code been reviewed by hundreds of pairs of eyes from our community and by one of the most respected auditing companies in the world, Deja Vu.

This DAO model is open source under the LGPL, so it can be reused by anyone wishing to put together a transparent organization where governance and decision making system are immutably programmed in the Blockchain.

Note: Although the word "contract" is used in the DAO’s framework code, the term is a programming convention and is not being used as a legal term of art. The term is a programming convention, not a representation that the code is in and of itself a legally binding and enforceable contract. If you have questions about legal enforceability, consult with legal counsel.

Solidity files

DAO.sol:

Standard smart contract for any generated Decentralized Autonomous Organization (DAO) to automate organizational governance and decision-making.

Token.sol:

Defines the functions to check token balances, send tokens, send tokens on behalf of a 3rd party and its corresponding approval process.

TokenCreation.sol:

Token Creation contract, used by the DAO generated by the framework to sell its tokens and initialize its ether.

SampleOffer.sol

Sample Proposal from a Contractor to the DAO generated by the framework. Feel free to use as a template for your own proposal.

ManagedAccount.sol

Basic account, used by the DAO contract generated by the framework to separately manage both the rewards and the extraBalance accounts.

DAOTokenCreationProxyTransferer.sol

This contract is used as a fall back in case an exchange doesn't implement the "add data to a transaction" feature in a timely manner, preventing it from calling createTokenProxy().

Licensing

The DAO framework is free software: you can redistribute it and/or modify it under the terms of the GNU lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The DAO framework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU lesser General Public License for more details.

A copy of the GNU lesser General Public License is included along with the DAO framework. See LICENSE.

Additional Disclaimers

NEITHER THE SOFTWARE NOR ITS CREATORS PROVIDE LEGAL ADVICE AND THIS CODE WAS NOT CREATED TO PROVIDE LEGAL ADVICE OR AS A SUBSTITUTE FOR LEGAL ADVICE. BY USING THIS CODE YOU ALSO AGREE:

a. The creators of the Software and its contributors are not your lawyers.

b. The Software is not a lawyer.

c. Your use of the Software does not, in and of itself, create a legally binding contract in any jurisdiction and does not establish a lawyer-client relationship. Your communication with a non-lawyer will not be subject to the attorney-client privilege and (depending on your jurisdiction) may not be entitled to protection as confidential communication.

d. The dissemination, distribution, or usage of this software shall not constitute the provision of legal advice within your jurisdiction. Unless you are legally authorized and licensed to do so, you will not use the Software to provide or assist in the provision of legal advice.

e. You acknowledge and understand that each jurisdiction has its own particular rules regarding the practice of law. IF YOU USE THIS SOFTWARE TO PROVIDE LEGAL ADVICE YOU MAY BE SUBJECT TO CIVIL AND CRIMINAL LIABILITY. PRACTICING LAW WITHOUT A LICENSE IS A VIOLATION OF CRIMINAL LAW IN SOME JURISDICTIONS. CONSULT A LAWYER LICENSED IN YOUR JURISDICTION IF YOU HAVE ANY QUESTIONS ABOUT WHAT DOES OR DOES NOT CONSTITUTE THE PRACTICE OF LAW.

f. The providers of this software neither warrant nor guarantee this software shall meet the requirements of any particular legal system to form a legally binding contract, nor it it their intention to directly or indirectly facilitate or encourage the unauthorized practice of law.

g. You agree that in order for you to form a legally binding contract that you shall seek legal advice from an appropriately qualified and experienced lawyer within your jurisdiction.

h. Issuance of DAO tokens may constitute the sale of securities in certain jurisdictions. Seek appropriate legal advice before deploying DAO code.