Recommended Tools for Working With Your First Dapp

Clint Patterson
March 9, 2020

You’ve used the DappStarter website or the DappStarter CLI and our system created a GitHub repo with the source code for your first Dapp - Congratulations! Now it’s time to get to work, but before we do, we need to ensure you’ve got all the tools you need to properly work with your first decentralized app.

Note: From the Ethereum Perspective
With DappStarter you have a lot of options to select from and we’ll keep adding more! The selections you make can affect the subsequent choices you have. That is to say, once you pick a blockchain, you’ll only see the available languages for that blockchain. This blog is written from the perspective of a developer having chosen the Ethereum blockchain.


In order to develop and build your Dapp, the following software prerequisites must be installed:

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.


If you’ve developed with Typescript, Go, JavaScript, or C++ you can view Solidity, Vyper, and others from the same lens, they are languages.


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. Keep learning more in our next entry where we review blockchains & languages.


Read more...

💌
Join the newsletter & get updates to your inbox.
Your information has been saved.
Looks like we're having trouble