If you're looking to get into blockchain development, there are a few tools you'll need to get started. We've drawn some analogies between the blockchain world and the rest of the web development world to make blockchain development easier to understand.
Note: From the Ethereum Perspective
This blog is written from the perspective of a developer building on the Ethereum blockchain.
At Decentology, we make blockchain development simple starting with DappStarter, a blockchain-agnostic platform that generates customized, full-stack project source code for decentralized applications. But after you've generated a dapp with DappStarter, you'll need a few tools to get you started with blockchain development.
In order to develop and build your decentralized application, the following software pre-requisites must be installed:
- Visual Studio Code (or any IDE for editing Javascript)
- NodeJS v10.x
- Solidity v0.5.11
- Truffle v5.0.7
- Ganache v2.0.0 (for Ethereum)
If you haven’t, follow the instructions at the above links to get the software you need installed.
Solidity, Truffle, & Ganache
If you have a development background, you are likely familiar with Visual Studio Code and NodeJs. The last 3 items in the list above may have been new, so let’s briefly detail those. Solidity is the JavaScript-like language for coding smart contracts. Truffle is the most popular development framework for Ethereum and Ganache is a blockchain simulator for Ethereum that runs on your local machine. While this info accurately defines the software, it may be helpful to compare them with a context web 2.0 developers are already familiar with.
Web 2.0 to Web 3.0 - Mentally Connecting the Dots
Let’s draw some rough parallels from a web 2.0 developer’s perspective… If you’ve ever used Apache, nginx, IIS, or GWS you can think of Ethereum, EOS, Harmony, Neo, Stellar, and Hyperledger in the same context. They are similar to web servers that host specific platforms. Keep in mind that everything in web 3.0 is decentralized.
Languages
If you’ve developed with Typescript, Go, JavaScript, or C++ you can view Solidity, Vyper, and others from the same lens, they are languages.
Frameworks
If you’ve ever developed on Express, Django, Rails, Spring, or .NET then you can consider Truffle, Fabric, Quorum, Burrow, Sawtooth, Enterprise Ethereum as similar technologies, they are frameworks.
The End Result
And at the end of the day, web 2.0 developers build web applications. You can view a web application as being similar to a Smart Contract, which is what web 3.0 developers build.
Ultimately, web applications target specific web platforms. Developers code applications in languages that are supported by their chosen web platform. Said differently, a compiler or interpreter exists to transform code so it can run on the respective web platform. Developers use web frameworks to not have to do a lot of grunt-work.
Example Scenario
Let’s bring it all home with an example from the .NET world. Web 2.0 developers build web applications programming in C# for IIS using .NET. In contrast, web 3.0 developers build decentralized web applications programming in Solidity for Ethereum using Truffle.
Keep Rocking Out!
We hope these analogies help you understand the blockchain development stack a little better. Once you’ve got all of these tools installed you’re ready to rock. And if you want to increase efficiency and reduce coding effort by 80%, try to build your dapp with Decentology DappStarter in three steps:
- Select the blockchain and features you want to implement in your dapp
- Download your full-stack custom source code for your blockchain app
- Customize the code and deploy!
Top comments (2)
For me, Web 3.0 means the semantic web but I have seen more recently folk in the decentralised space co-opt the term. How do you see the two related? Maybe it is Web 4.0?
Hi Ricardo. That’s a good question. I think the common pattern here is Web 3.0 is just a general marketing term referring to the next stage of the web. There is no single definition for Web 3.0. The Semantic Web started a while ago and was called Web 3.0. Recently distributed ledger technologies emerge, so the definitions have included decentralized web as well.
I think each of these perspectives describe a similar end state that is the shift in the digital space; they just start from different technology viewpoints.