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
  • 2
    That was a very valid question in the context of DApps and Ethereum...
    – caktux
    Commented Feb 2, 2016 at 5:47
  • @caktux I'm glad someone agrees.
    – Shelvacu
    Commented Feb 2, 2016 at 5:49

1 Answer 1

  • 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.