5

I am your average developer who is excited about building Dapps. However, these seem different from a traditional program. So:

  • Are there things that are flat-out impossible? What's the closest I can get?
  • What things are a given/easy in traditional programming but must be thought through thoroughly when making Dapps

closed as too broad by Waqar Lim, Dawny33, Chenmunka, paulmorriss, Tjaden Hess Jan 21 '16 at 14:37

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    That was a very valid question in the context of DApps and Ethereum... – caktux Feb 2 '16 at 5:47
  • @caktux I'm glad someone agrees. – Shelvacu Feb 2 '16 at 5:49
6
  • The blockchain is your database. Storing data costs gas to your users, reading it within the execution of a contract also, but reads from your DApp's UI (eg. using web3.js) are free. The data is there for all to see after all.
  • Your contracts cannot query external APIs or websites. You or your users need to feed data to it, or use oracle services like Oraclize
  • Contract execution can get expensive very quickly. If there's one thing that needs to be thought through it is your contracts. Small design decisions can have huge impacts and many rounds of manual optimizations are often necessary to get good results. Also, keep in mind that only mission-critical logic and data should make it into your contracts; the more logic you can offload to your UI without compromising safety, the less it will cost to you and your users.

Not the answer you're looking for? Browse other questions tagged or ask your own question.