The Decentralized Autonomous Investment Organization (DAIO)
Coordinate a simple investment decision—buy something or not— among all participants with a predetermined redistribution timeframe
-
Download and install either Ethereum Wallet or Mist from the official repo. Geth will be installed as well.
-
(Optional) Sync the mainnet chain (use
--fast
or light client)
For a more thorough step-by-step guide, see HowTo: Set up an Ethereum private local testnet
-
Create a new dir to store testnet blockchain files:
mkdir ~/testnet
-
Define genesis block configs in a new json file
genesis.json
:
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x8000000",
"difficulty": "0x400",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {}
}
-
Initialize testnet blockchain:
geth --datadir "~/testnet" --identity "Private" --networkid 15 --nodiscover --maxpeers 0 init genesis.json
-
Create an address and start mining:
geth --datadir "~/testnet" --identity "Private" --networkid 15 --nodiscover --maxpeers 0 console
personal.newAccount("password")
miner.setEtherbase(personal.listAccounts[0])
miner.start()
-
Make sure testnet blockchain is active and mining (see Testnet Blockchain (OSX)
-
Launch Ethereum Wallet or Mist on testnet:
/Applications/Ethereum\ Wallet.app/Contents/MacOS/Ethereum\ Wallet --rpc ~/testnet/geth.ipc
-
Contracts -> Deploy New Contract
-
Copy&paste code in
daio.sol
intoSolidity Contract Source Code
, choose From account and Ether amount to send (this initial amount will be considered as thefundShare
) -
Deploy