Decentralized Applications (Dapps)
Phát triển Ứng dụng Phi tập trung
Xin chào các bạn!
Môn học thứ ba - Phát triển Ứng dụng Phi tập trung (Decentralized Application Development - Daaps) sẽ trang bị cho bạn kiến thức và kỹ năng để thiết kế và phát triển các ứng dụng phi tập trung (Dapps) đầu cuối - cung cấp cho bất kỳ ai quyền truy cập vào các tính năng và dịch vụ của blockchain. Thông qua môn học, các bạn học viên sẽ học cách sử dụng Truffle IDE, smart contract, ứng dụng web client đơn giản và ứng dụng MetaMask client. Các bạn sẽ tìm hiểu về cấu trúc của Dapps: giao diện khách đầu cuối (front-end client) được hỗ trợ bởi blockchain và các smart contract. Môn học sẽ đề cập tới thiết kế cơ bản của Dapps, quy trình phát triển Truffle và các lệnh (init, develop, test và migrate), phát triển theo hướng thử nghiệm của Dapps, mô hình Dapps và các tiêu chuẩn mới nổi cần thiết cho việc phán đoán hoạt động của Dapps.
Chúc các bạn học tốt!
MỤC TIÊU MÔN HỌC
Sau khi học xong môn này, học viên sẽ đạt được các chuẩn kiến thức, kỹ năng đầu ra như sau:
- Hiểu khái niệm máy chủ blockchain như là nền tảng cho ứng dụng phi tập trung (Daaps).
- Biết cách làm việc với môi trường Truffle để phát triển Dapp và kiểm thử.
- Hiểu được các thực tiễn tốt nhất (best practice) để cải thiện thiết kế cơ bản của Dapps.
- Hiểu các quy định của các đề xuất xem xét và cải tiến Ethereum (Ethereum Improvement Proposal - EIP và Ethereum Request for Comments - ERC.
- Thiết kế và phát triển một ứng dụng phi tập trung.
TRẢI NGHIỆM HỌC TẬP
Để bắt đầu, các bạn nên dành một vài phút khám phá môn học và cấu trúc chung. Môn học sẽ có 4 phần với 11 bài học. Xuyên suốt các bài học và cuối mỗi học phần, các bài thực hành Lab và bài tập lớn (Project) sẽ giúp các bạn tăng cường việc ghi nhớ và vận dung lý thuyết đã học vào các bài toán thực tế. Để việc học tập được hiệu quả, hãy luôn trau dồi kiến thức, không ngừng học hỏi, nghiên cứu và lập cho mình một kế hoạch học tập hợp lý để hoàn thành khóa học một cách xuất sắc.
Trong thời gian học (dự kiến là 6 tuần), việc phân bổ tuần học là rất quan trọng. Nếu các bạn có bất cứ câu hỏi nào hãy kết nối với Mentor để được giải đáp.
CẤU TRÚC MÔN HỌC
Phần 1: Ứng dụng phi tập trung (Dapps)
- Bài 1 - Máy chủ Blockchain
- Bài 2 - Định nghĩa Dapps
- Bài 3 - Ethereum API
Progress Test 1
Phần 2: Phát triển Truffle
- Bài 4 - Truffle IDE
- Bài 5 - Phát triển theo định hướng kiểm thử (Test-Driven Development)
- Bài 6 - Giao diện Web và kiểm thử
Progress test 2
Phần 3: Cải thiện thiết kế
- Bài 7 - Các tính năng của Solidity
- Bài 8 - Xử lý sự kiện (Event Handling)
- Bài 9 - Oraclize
Progress Test 3
Phần 4: Mô hình & các tiêu chuẩn ứng dụng
- Bài 10 - Mô hình Daaps
- Bài 11 - Tiêu chuẩn Daaps
Progress test 4
Project 1 - Kiểm thử smart contract
Project 2 - Phát triển một Dapp - Aution (phiên đấu giá)
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC
THIẾT KẾ MÔN HỌC: Vũ Hồng Việt
- Chuyên gia công nghệ của FPT
- Hơn 20 năm kinh nghiệm về phát triển giải pháp phần mềm (CSC & FPT)
- Chuyên gia nghiên cứu về các lĩnh vực: Blockchain, hệ thống giao thông thông minh (ITS)
THIẾT KẾ MÔN HỌC: Nguyễn Đức Minh Quân
- Quản lý Giải pháp Phần mềm thông tin FPT
- 10 năm kinh nghiệm về phát triển giải pháp phần mềm
- 7 năm kinh nghiệm R&D và triển khai giải pháp Giao thông Thông minh, giải pháp thành phố thông minh
- Chuyên gia nghiên cứu về Blockchain & diễn giả quen thuộc tại Vietnam Web Submit, Vietnam Mobile Day, FPT Tech Day,...
- Online profile: https://www.linkedin.com/in/ducminhquan/
PHẢN BIỆN MÔN HỌC: PGS.TS. Trương Anh Hoàng
- Trưởng phòng Lab Blockchain, ĐH Công nghệ, ĐHQG Hà Nội
- Phó giáo sư ĐH Công nghệ, ĐHQG Hà Nội từ năm 2007
- Bảo vệ luận án tiến sĩ ĐH Bergen, Na-uy (2006) về các hệ thống ngôn ngữ Abstract component
- Hơn 15 năm kinh nghiệm phát triển phần mềm cho di động, Linux, Windows và các nền tảng mạng sử dụng C/C++, VB, C#, Python, JavaScript ở nhiều công ty như Punch Entertainment, Olivetti, Getronics, MITEC
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN KHUNG CHƯƠNG TRÌNH
TS. Đặng Minh Tuấn
- Trưởng phòng Lab Blockchain, Giảng viên Học viện Công nghệ Bưu chính viễn thông (PTIT)
- Phó chủ tịch tại FINTEC CLUB/Hiệp hội Ngân hàng Việt Nam
- Trưởng Tiểu ban kỹ thuật tại Tiểu ban Kỹ thuật tiêu chuẩn quốc gia SC35
- Tác giả của phần mềm Vietkey
- Hơn 30 năm kinh nghiệm phát triển phần mềm và bảo mật thông tin
Th.S Nguyễn Anh Tú
- Trưởng nhóm Kỹ sư Blockchain tại Tomochain về lĩnh vực Blockchain và Cloud Computing
- Lập trình viên được ủy quyền của Apache Software Foundation và Cloud Native Computing Foundation
- Trưởng nhóm kỹ sư của nhiều phần mềm mã nguồn mở điện toán đám mây (kubeless, kubeapps, kompose, kubewatch)
- Thạc sỹ về Hệ thống Phân tán tại Thụy Sỹ
NGUỒN HỌC LIỆU
Trong thời đại hiện nay, mỗi môn học đều có nhiều nguồn tài liệu liên quan kể cả sách in và online, FUNiX Way không quy định một nguồn học liệu cụ thể mà khuyến cáo để học viên chọn được nguồn phù hợp nhất cho mình. Trong quá trình học từ nhiều nguồn khác nhau theo lựa chọn cá nhân đó, khi sinh viên phát sinh câu hỏi thì sẽ được kết nối nhanh nhất với mentor để được giải đáp. Toàn bộ phần đánh giá bao gồm các câu hỏi trắc nghiệm, bài tập, dự án và thi vấn đáp do FUNiX thiết kế, xây dựng và thực hiện.
Các môn học của FUNiX không quy định bắt buộc tài liệu học tập, sinh viên có thể chủ động tìm và học từ bất kỳ nguồn nào phù hợp, kể cả sách in hay nguồn học liệu online (MOOC) hay các website. Việc sử dụng các nguồn đó do học viên chịu trách nhiệm và đảm bảo tuân thủ các chính sách của chủ sở hữu nguồn, trừ trường hợp họ có sự hợp tác chính thức với FUNiX. Nếu cần hỗ trợ, học viên có thể liên hệ phòng đào tạo FUNiX để được hướng dẫn.
Dưới đây là một số nguồn học liệu của môn học mà học viên có thể tham khảo sử dụng. Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn: Coursera, tutorialspoint, edX Training, or Udemy.
KÊNH PHẢN HỒI
FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn