Member-only story
Ethereum, tokens & smart contracts.
Previous notes in case you are just joining us:Part 1. Setting up.
Part 2. Web3.js/node.
Part 3. Solidity.
Part 4. Smart Contracts.
Part 5. Smarter Contracts.
Part 6. Tokens & Inheritance.
Part 7. ERC20 Token Standard.
Part 8. Crowdfunding and ICOs.
Dapps ( or ÐApps) stand for Decentralized Applications, this begs the question what is a centralized application ? Well, most of the web and software services today are in some form or another centralized. Typically there is a single database that stores your information, there is a monolithic code base that has no external input, it was funded by a small group, it is controlled by a single entity and on and on.
Dapps are a new architecture in which parts if not all of the product or service exists in a decentralized fashion,as mentioned this could also extend to both ownership,code base,funding etc.
Ethereum Dapps ( These are early days ) :
So far we have covered contracts that live in the Ethereum blockchain and use the Ethereum vm, what we have seen so far is a mix of a programming language and a cryptocurrency.
Unfortunately you can’t make a software service out of these parts, at least not a very complex one and not today.The reason is that it is both cumbersome and impractical…
- It is cumbersome because as you will see connecting and interacting with a blockchain and using it as a backend is far from being a resolved matter ( we will explore some current options though). The Ethereum foundation and other parties are actively developing new tools to make this easier.
- The impractical part is a bit more daunting; the average webpage is around 2–3 mb and growing; that same webpage in ethereums VM would cost around $15,000 (and growing), to deal with this issue an add on of sorts is being developed: Swarm. which will deal with storage in a distributed and cost effective way.
- It should be mentioned that other types of tooling (to make dapp development easier/possible) are currently in active development, check for instance: https://github.com/ethereum for current and future projects.