By Gary simon - Oct 22, 2017
I've been on the internet since the mid 90's (I was around 12 years old back then), and I can remember just a couple times when new technology excited me as much as the decentralized web, or web3.0.
First, it was the ability to play awesome first person shooter games like Doom 2, and then learning how to create my own levels.
Next, it was learning Visual Basic to create actual software that interfaced with AOL to punt people offline and chatroom scrollers (wtf?).
Shortly thereafter, I started learning web design and development using Photoshop, Fireworks, HTML, CSS, PHP3 and MySQL.
Then came the various command-line build tools for frontend developers, bringing me to a serious case of nostalgia back in my MS-DOS days of Doom 2 development.
Now, it's the new era of decentralization. A new way to build apps on the underlying technology that empowers cryptocurrencies; the blockchain.
Be sure to Subscribe to the Official Coursetro Youtube Channel for more videos.
"Blockchain", ooo, it sounds alien at first if you don't understand it, right? Well, like almost everything else in life, it's actually really simple.
In short, a blockchain is a distributed database that contains a list of records (data). Distributed means that instead of being stored on a central device somewhere, the entire database is actively synced and stored on a bunch of other devices. This is called a peer-to-peer network, much like how Napster was a peer-to-peer network for sharing music files.
The individual records in this distributed database are referred to as blocks, which are linked together and secured through cryptography. Why should they be secured? Well, in the case of cryptocurrencies, which are built on blockchains (with a few exceptions like the IOTA Tangle), security and immutability are very important for obvious reasons; you're dealing with important data.
The data contained in a blockchain is immutable, which means that it can't be changed. In this context, it's tamper-proof.
There's much more to Blockchains and how they actually work. I advise you to watch the 2 following videos to get a more complete picture of the concepts and technicalities behind Blockchains and how they work:
The Bitcoin Blockchain stores data that's specific to keeping track of currency balances between parties.
The Ethereum Blockchain expands on Bitcoin in that it can store and do much more than the Bitcoin Blockchain. Ethereum allows developers like yourself to build DApps (Decentralized Apps).
These decentralized apps are defined by smart contracts. A smart contract allows individuals to exchange data in a trusted, conflict-free manner without relying on a third party like a bank, lawyer or notary.
These Ethereum Smart Contracts are stored as special transactions on the Ethereum Blockchain, which you can then use to build applications. You can think of smart contracts sort of like API's.
Due to smart contracts being stored on the Ethereum Blockchain, they need to be validated (or mined) like a regular transaction. Because of this, there is a small cost associated with deploying a smart contract and also altering its state. Fortunately, we will develop our smart contracts in a test environment that won't cost you a single cent - or ether.
If this is all confusing, don't worry, you will understand it as we progress throughout the course. For now, I'm just planting seeds.
Because of the unique properties associated with smart contracts (decentralized, secure, speed, savings as compared to hiring third party intermediaries, backups, etc..), they lend themselves to a variety of use cases.
There are a mess of other potential use cases, but hopefully, you have a decent idea for now.
In this course, we will use Solidity to create our smart contracts. We will do this in the next lesson in a web-based IDE called Remix.