- installing mist and getting it to sync is very difficult and time consuming
- connecting to a testnet and getting ether on the testnet is also very difficult
- most ‘cool’ dapp ideas rely on oracles to publish data about the real world into the block chain. When you dive into it you realize that such an Oracle would be very very expensive to run for even trivial usecases.
how much does it cost to run an Oracle?
For example, if the problem domain is football games and gambling, well, scraping the results of those games from existing apis isn't too hard nor expensive.
If it's based on real-world stuff with no existing consistent API (e.g. you want a app based on housing), you'll either need to build that API, find a company to research and enter the data, etc.
The data is an input to a transaction that eventually results in the EVM storing that data into a contracts (dapps) memory (which you pay per byte) that can then be exposed to other dapps.
Now a MUL costs 5 gas and a ADD costs 3 for example. So you have to pay for contract complexity.
Now memory costs are not linear. The current gas cost equation for memory is Gmem * a * (a^2/512) where Gmem is a constant that is currently 3 and 'a' is the number of 255bit words (ints) you are storing.
This is for EVM internal memory that can later be accessed by the smart contract or other contracts. There is a way for contracts to output data that can be read out-of-band called logs but that is for getting data out of the EVM, not in.