If you are reading this, which you are, I will assume that you are still getting your footing in the blockchain world. But worry not because this is nothing to be embarrassed about since in the big scheme of things, blockchain technology is still in its toddler, if not infant, stage and comes burdened with a cloak of blockchain-specific vocabulary. So, if you are a would-be decentralized (dApp) developer hoping to get started with dApp and smart contract development, you have come to the right spot.

Aren’t dApps and Smart Contracts Kind of the Same Thing?

20190617Chain400X210First off, I will assume you know what blockchain technology is, how it is so powerful that it is changing the world. In fact, it is such a game changer, that Bill Gates, co-founder of Microsoft, said that Bitcoin, the pretty face of this technology, was a “tour de force,” while John McAfee, founder of McAfee antivirus software, said he’d eat his d*ck on national television if Bitcoin does not reach the $500,000 mark by July 17, 2020 (currently it sits around $11,000).

Next, although plenty of folks think dApps and smart contracts are the same thing, you, as a nascent dApp developer, undoubtedly know that they are indeed different. You understand that a dApp is a blockchain enabled website which means that it is immensely scalable and (potentially) profitable while also not being owned by anyone.

You also know that a smart contract is kind of the backend to a dApp, don’t you? It is a permanent bit of coding that is part of a blockchain that sets the requirements as to how dApp developers can create contracts on that particular network. For example, dApp developers must use the Solidity coding language to build an Ethereum contract because of the requirements set by the initial Ethereum smart contract that can never be changed or removed.

Now, if the smart contract is the backend to a blockchain, what do you suppose the dApp is? Yep, that’s right, it is the front end. It communicates with the smart contract. The smart contract connects the dApp to the blockchain. Without smart contracts there’d be no dApps.

dApp Developer Tools for Integrating Smart Contracts into dApps

NPM

20190617Primer400X267

The first tool that every dApp developer needs is a Node Package Manager. This package manager for Javacript is the largest software registry manager on the planet and will install most of the other tools all dApp developers simply must have.

Solidity

This is the programming language that dApp developers must use to write code for Ehereum-based dApps.

MetaMask and the MetaMask Chrome Plugin

MetaMask is a secure identity vault that allows dApp developers to interact with smart contracts and dApps without needing to instal or download anything else.

TestRPC

This Node.js-based client allows dApp developers to simulate end user behavior to test Ethereum dApps.

Truffle Truffle Framework

dApp developers have made the Truffle framework perhaps the most widely used Ethereum-based smart contract tester around. One of the cool things about testing in Truffle is that the dApp developer can write the tests in either Solidity or Javascript.

 

About the Author

Michael Kelley
Content Strategist at Fueled

Michael is a professional tech writer and content strategist with an app development background. He specializes in Android & iOS app design, as well as blockchain & dapp technology.