Thông tin chung
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.
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
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á)
Đặc điểm môn học
Để 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.
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 nghiệ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.