This third course of the Blockchain specialization prepares you to design and develop end-to-end decentralized applications (Dapps) – which provide anyone with access to the blockchain’s features and services. You will use Truffle IDE, smart contracts, a simple web client and a MetaMask client. You will learn about the architecture of a Dapp: the front-end client interface, backed by the blockchain and smart contracts. The course covers the basic design of a Dapp, Truffle development process and commands (init, develop, test and migrate), test-driven development of Dapp, Dapp application models and emerging standards that are essential for predictable Dapp behavior.
Main concepts are delivered through videos, demos and hands-on exercises.
Decentralized Applications (Dapps)
We will explore the notion of the blockchain server as the foundation for a Decentralized Application. We will demonstrate how to install the blockchain server and establish a peer-to-peer network of nodes. It is a common practice to develop and test a Dapp on a local test network before deploying it on a public network.
We'll explore the user-friendly environment that Truffle provides for developing and testing a Dapp. We'll explore further the truffle commands such as: develop, init, compile, migrate, test - all with truffle in front of them and with any parameters. This module will illustrate the steps needed in developing and testing a complete Dapp.
In this module, we will discuss a few of the many best practices exclusive to smart contracts and Dapps that will improve your basic Dapp design.
Application Models & Standards
We will discuss Ethereum Improvement Proposal and the ERC process that are essential for keeping Ethereum blockchain updated. We will also explore the standard ERC 20 for token Dapps and ERC 721 for non-fungible tokens.