Skip to main content

Decentralized Applications (Dapps)

Enrollment in this course is by invitation only


Decentralized Applications, the third course of the Blockchain Developer program will prepare 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.


Course code: BDP303x_01_EN
Course name: Smart Contracts
Credits: 3
Estimated Time:

Video Time: 4 hrs 20 m

Reading Time: 6 hrs

Lab Time: 22 hrs

Assignment Time: 27 hrs


  • Understand the notion of the blockchain server as the foundation for a Decentralized Application
  • Understand how to work on Truffle environment for Dapp development and testing
  • Understand the best practices to help improve your basic Dapp design
  • Understand Ethereum Improvement Proposal (EIP) and Ethereum Request for Comments (ERC) frameworks
  • Design and develop a decentralized application


Module 1: Decentralized Applications (Dapps)

·      Lesson 1: Blockchain Server

·      Lesson 2: Dapp Defined

·      Lesson 3: Ethereum APIs

Module 2: Truffle Development

·      Lesson 4: Truffle IDE

·      Lesson 5: Test-Driven Development

·      Lesson 6: Web Interface & Testing

Module 3: Design Improvements

·      Lesson 7: Solidity Features

·      Lesson 8: Event Handling

·      Lesson 9: Oraclize

Module 4: Application Models & Standards

·      Lesson 10: Dapp Models

·      Lesson 11: Dapp Standards

Assignment 1: Smart Contract Testing

Assignment 2 Develop a Dapp - Auction 


You must complete the course: BDP301x - Blockchain Basics and BDP302x - Smart Contract



Vũ Hồng Việt

  • More than 20 years working in software and solution development (company: CSC, FPT)
  • Blockchain Researcher
  • Speciallist in Intelligent Transportation Systems domain
  • FPT’s Technology Specialist
  • Profile online:

Nguyễn Đức Minh Quân
  • FPT Information System – Solution Manager.
  • 10 years working in software and solution development.
  • Blockchain Researcher
  • 7 years R&D and deploy Intelligent Transportation Systems sulution, smart city solution
  • Regular Speaker in Vietnam Web Submit, Vietnam Mobile Day, FPT Tech Day, …
  • Profile online:

course reviewer
Assoc. Prof., Ph.D. Truong Anh Hoang - Program/Course Reviewer
Truong Anh Hoang photo
  • Blockchain Lab Lead, UET, VNU Hanoi
  • Associate Professor, VNU University of Engineering and Technology since 2007
  • Ph.D dissertation defended in University of Bergen, Norway in 2006, after four years of study about type systems for abstract component languages
  • More than 15 years of experiences in software development, for mobile, Linux, Windows, and web platforms using C/C++, VB, C#, Python, JavaScript, among others in many companies including Punch Entertainment, Olivetti, Getronics, MITEC
  • Profile online: 

Ph.D. Dang Minh Tuan - Program Reviewer
  • Blockchain Lab Lead, Lecturer at Posts and Telecommunications Institute of Technology (PTIT)
  • Vice President, FINTEC CLUB/Vietnamese Banking Association
  • Lead of Sub-Committee for National IT Standard SC35
  • Vietkey Application Creator
  • More than 30 years of experiences in software development and information security
  • Online Profile:

M.S. Nguyen Anh Tu - Program Reviewer
  • Tomochain Lead Engineer § Seasoned engineer working in Blockchain and Cloud Computing.
  • Authorized Developer of Apache Software Foundation, Cloud Native Computing Foundation.
  • Lead engineer of multiple cloud computing open-source softwares (kubeless, kubeapps, kompose, kubewatch).
  • Master degree in Distributed Systems, Switzerland.
  • Online profile:

MOOC materials:

Below is the list of all free massive open online learning sources (MOOC) referred to in this course:  Decentralized Applications (Dapps) of the Blockchain Specialization offered by University At Buffalo and The State University of New York.

All open learning sources used in FUNiX training program are public, constantly updated and freely used. FUNiX is always willing to receive and discuss any comments, suggestions and responses related to our learning sources via email