Difference between revisions of "DApp Development"

From Grundy
Jump to navigation Jump to search
(created new page for dapp development)
(No difference)

Revision as of 20:12, 23 May 2020

Decentralized applications or DApps are a piece of software that communicates with the blockchain, which manages the state of all network actors. The interface of the decentralized applications does not look any different than any website or mobile app today. The smart contract represents the core logic of a decentralized application. Smart contracts are integral building blocks of blockchains, that process information from external sensors or events and help the blockchain manage the state of all network actors.

DApps are not something native to Ethereum only. Several blockchains like EOS, Tron, etc. have a multitude of interesting DApps built on top of them. Here is an article for you to know more about different DApps on all these platforms.

However, this article focuses on DApp Development on Etheruem using Solidity (for smart contracts), Web3 (communicate between the interface and the smart contract on the Ethereum) & some front-end framework(s) (To build the interface).

Prerequisites

  • Some familiarity with writing & deploying smart contracts using Solidity is needed. If you are new to Solidity, check out our Ethereum Smart Contracts Tutorial. You can also learn Solidity from this amazing tutorial.
  • Familiarity with some frontend-development framework. Though not a hard prerequisite, it is better to have some working knowledge of frontend development. For resources, you can have a look at our wiki articles on React & Angular.

Web3 - The Start of a Decentralized Internet

Web 3.0 or simply Web3 is an inclusive set of protocols to provide building blocks for application makers. These building blocks take the place of traditional web technologies, but present a whole new way of creating applications.

To develop DApps, we must use some form of Web3 to interact with our smart contracts. In Web DApps, Web3 can be injected into the browser by tools like Metamask (a crypto wallet) or Mist browser. By injecting Web3, it means that they act as a provider for the web3 object needed to interact with Ethereum.

web3.js: Web3 for JavaScript Developers

web3.py: Web3 for Python Developers

Ethereum DApp Development Tutorials