How to split the DAO: Step-by-Step
When do you need this?
You need this instruction if you want to split from The DAO, perhaps because you don't agree with a proposal or with the curators. It is a way to ensure the decentralization and autonomy of The DAO.
One should note that splitting is not entirely hard, but it has a number of steps and is time consuming. It takes (minimum) 7 days to Split the DAO and arrive at a place where your Ether and Reward Tokens are now in your complete control. However, it takes a minimum of 48 days to "cash out" Ether into a standard account where you can send them, trade them, etc. You will need to take action, wait 7 days, take more action, wait 27 days, take more action, wait 14 days, and then you will finally have ETH in an account you control.
If you simply want to cash out, you may want to consider trading your DAO Tokens on an exchange rather than splitting.
Ingredients
You need:
- Mist / Ethereum Wallet: Downloaded, installed, and sync with the main net: Mist.
- "The DAO" added as a Watch Contract: How to add and watch the DAO contract.
- "The DAO" added as a Watch Token: How to display DAO token to the MIST Wallet.
- Your token address.
- Some Ether at your token address to cover cost of gas.
- Time.
Table of Contents
Create a Proposal to Split the DAO
Find the ID of your Proposal to Split
Vote “YES” on your new proposal
Wait 1 week
Call the Split DAO Function – You are now officially split & have your ETH + reward tokens & are no longer part of the original DAO
- Find out where your New DAO is and add the new Watch Contract & Watch Token
Wait the 27 Day Split Creation Period
Add your address to the whitelist (if you don’t want to send it to the new curator address)
- Create a new Proposal to send all your ETH to an address
- Vote Yes on the new proposal
- Wait the 14 day debating period
- Execute the proposal. Your ETH have now been sent to the address specified.
Step-By-Step
1. Create a Proposal to Split the DAO
Instructions
Go to ‘Contracts’ and then click on the ‘The DAO’ contract.
On the right side, click the “Pick a Function” dropdown.
Select “New Proposal”
Recipient: enter the address new curator for your DAO (your address)*
Amount: Leave Blank
Description: Leave Blank, or enter a human readable descriptor like “0x762f split proposal” so you know it is yours later. **
Transaction Data: Leave blank
Debating Period: ‘604800’ this is 1 week in seconds, the minimum amount of time.
New Curator: Check this box!
Choose your token account to execute from
Do not send any ETH (or it may fail)
Ensure you have some ETH in your token account for gas.
Click “Execute”
A pop up will appear confirming gas, etc. Enter your password and press "SEND TRANSACTION".
* If you are just splitting the DAO with just yourself, you would enter your address and therefore become the new Curator. Make sure you have access to this account! If you are creating a new DAO with other people, this should probably be a multi-sig wallet held by multiple trusted people.
** Anyone who enters the Proposal ID will be able to read this descriptor, so don’t include personal information.
2. Find the ID of your Proposal to Split
- The easiest way I have found to do this is:
- Immediately after submitting the proposal, put your cursor in the “Proposals” field on the left side under “Read from Contract” -> “Proposals”
- Scroll up until the data below the number field stops changing.
- Scroll back down to find the real ID of your proposal (when you go down one number and it changes to a different proposal.)
- Confirm that it is your proposal by typing in the Proposal ID number into the field where you were just scrolling and verify the information is yours.
- You now know the Proposal ID number. Remember or write down this number as you’ll need it later.
As we can see nothing funky is going on in Proposal 1 above. Taylor determined that Proposal 1 was a malicious attack by an untrustworthy curator, and decided that splitting the DAO would be her best choice, as seen in Proposal 2.
3. Vote “YES” on your new proposal
How to Vote
Go to ‘Contracts’ and then click on the ‘The DAO’ contract.
On the right side, click the “Pick a Function” dropdown.
Select “Vote”
Proposal ID: the ID of the proposal to split the DAO.
Supports Proposal: Check the ‘Yes’ button.
Choose your token account to execute from
Do not send any ETH (or it may fail)
Ensure you have some ETH in your token account for gas.
Click “Execute”
A pop up will appear confirming gas, etc. Enter your password and press "SEND TRANSACTION".
If you want to make sure you voted…
Enter your proposal ID on the left side
Look under “YEA” and make sure it doesn’t say “0”
4. Wait 1 week
...or whatever you specified under “Debating Period” when you created the proposal
5. Call the Split DAO Function
Go to ‘Contracts’ and then click on the ‘The DAO’ contract.
On the right side, click the “Pick a Function” dropdown.
Select “Split DAO”.
Proposal ID: enter the proposal ID of your proposal.
New Curator: Enter the same address that you entered under "Recipient" in Step 1: Create a Proposal to Split the DAO.
- Choose your token account to execute from.
Do not send any ETH (or it may fail).
Ensure you have some ETH in your token account for gas.
Click “Execute”.
A pop up will appear confirming gas, etc. Enter your password and press "SEND TRANSACTION".
- After a ~1 minute (or less) a notification will alert you that a transaction to 0x000000000... was successful.
- If you miss the notification, you can see this by going to the "Wallets" tab and then looking under "Latest Transactions"
- Note: If you are the first person to split the DAO (as I was above), this will cost ~3,051,593 Gas.
The DAO is now officially split….as long as the voting deadline is over, the new curator is different from the old one, the transaction sender has voted in favor of the proposal, and that the sender on of the transaction has not voted on another proposal with a deadline after the proposal to split the DAO.
Your ETH and reward tokens and are no longer part of the original DAO and you are the curator of the new DAO.
6. Find out where your New DAO is and add the new Watch Contract & Watch Token
- Go to "Contracts" in the Ethereum Wallet app
- Select The DAO Contract
- Under "Read From Contract", scroll down a ways until you see "Get New DAO Address"
- Enter your Proposal ID
- The New DAO Contract Address should appear directly below. Copy this address and save it somewhere for reference. (If this does not work, scroll down for an alternate method)
- You now need to go back to the Mist / Ethereum Wallet application and add the Watch Contract and Watch Token for this new address.
- Add New Watch Contract
- Give your contract a name
- Enter the address that you just copied from EtherScan
- Paste the JSON interface, which can be found here.
- Click OK. It should now appear under Watch Contracts:
- Add New Watch Token
- Paste the contract address from EtherScan.
- Give your new Token a name
- Choose a symbol for your token
- Decimals = 16
- Click OK. It should now appear under Watch Tokens:
- You can now see the New DAO Token Balance, the amount of ETH in the New DAO Contract, and you can see you are the curator of this new DAO by click on the Watch Contract and scrolling down until you see "Curator".
For some reason, my Get New DAO Address was not working on the Test DAO. In case this remains an issue, here is how I found my address:
- Open up EtherScan.io and type the address you split the DAO with (not the new curators address) in the search bar.
- Note the "Age". (In my case it was 37 minutes).
- Click on the DAO Address. Yours should read 0xbb9....
- Click on the "Internal Transactions" tab and look at the recent transactions. You can see they all match the age from above:
- There should be one that stands out to you as it has a value that is not 0. Click on this address.
- This is the your New DAO Contract Address. Copy this address and save it somewhere for reference. Then Add the new Watch Contract and Token (above).
7. Wait the 27 Day Split Creation Period of your new DAO
If this is a one-man split, you would simply wait the 27 days. However, if other people want to join your new DAO as well, they could provided that they also voted YES on the proposal in Step 3. Those people would now also Call the Split DAO Function to join your new DAO.