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.
Offered By

About this Course
Learner Career Outcomes
43%
44%
20%
Knowledge of at least one modern, high-level programming language is required. Prerequisites include: "Blockchain Basics" and "Smart Contracts".
What you will learn
This third course of the Blockchain specialization prepares you to design and develop end-to-end decentralized applications (Dapps).
Skills you will gain
Learner Career Outcomes
43%
44%
20%
Knowledge of at least one modern, high-level programming language is required. Prerequisites include: "Blockchain Basics" and "Smart Contracts".
Offered by

University at Buffalo
The University at Buffalo (UB) is a premier, research-intensive public university and the largest, most comprehensive institution of the State University of New York (SUNY) system. UB offers more than 100 undergraduate degrees and nearly 300 graduate and professional programs.

The State University of New York
The State University of New York, with 64 unique institutions, is the largest comprehensive system of higher education in the United States. Educating nearly 468,000 students in more than 7,500 degree and certificate programs both on campus and online, SUNY has nearly 3 million alumni around the globe.
Syllabus - What you will learn from this course
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.
Truffle Development
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.
Design Improvements
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.
Reviews
TOP REVIEWS FROM DECENTRALIZED APPLICATIONS (DAPPS)
it would have been nice if the instructor has included the instructions for truffle+ganache installation for local machine. Truffle works great on a native machine over vm! thanks!
Great course especially if you follow the readings religiously. Only thing is the exercise and snippet are outdated, but that helps in exploring so you don't do copy paste :)
This was a wonderful course. What I wished I knew before taking it was javascript. The programming which required knowledge of it was what made this course difficult for me.
It has a good content and it's quite challenging to create the Dapp, I think it's a good introduction for anyone to have an idea about how to build a Dapp from the scracth
About the Blockchain Specialization
This specialization introduces blockchain, a revolutionary technology that enables peer-to-peer transfer of digital assets without any intermediaries, and is predicted to be just as impactful as the Internet. More specifically, it prepares learners to program on the Ethereum blockchain. The four courses provide learners with (i) an understanding and working knowledge of foundational blockchain concepts, (ii) a skill set for designing and implementing smart contracts, (iii) methods for developing decentralized applications on the blockchain, and (iv) information about the ongoing specific industry-wide blockchain frameworks.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
Who is this class for?
Are there any prerequisites?
Are there any hardware requirements?
Will I earn university credit for completing the Course?
More questions? Visit the Learner Help Center.