Skip to main content

Hợp đồng thông minh

Enrollment in this course is by invitation only

Hợp đồng thông minh

Xin chào các bạn!

Môn học thứ hai - Hợp đồng thông minh (Smart Contract) sẽ cung cấp cho bạn kiến thức và kỹ năng để thiết kế, lập trình, triển khai và thực thi một hợp đồng thông minh - thành phần xử lý yêu cầu, tính toán của công nghệ blockchain. Smart contract cho phép thực hiện các hoạt động do người dùng định nghĩa, có độ phức tạp tùy ý mà thường không thực hiện được thông qua các giao thức của tiền điện tử thuần túy. Chúng cho phép người dùng thực hiện các điều khoản, quy tắc và chính sách của ứng dụng. Smart contract là một tính năng mạnh mẽ có thể tạo ra các hệ thống tự quản hiệu quả, minh bạch nếu được thiết kế và mã hóa hợp lý.

Thông qua các bài tập thực hành trong môn học, các bạn học viên sẽ thiết kế và lập trình smart contract bằng ngôn ngữ Solidity, thử nghiệm và triển khai chúng trong môi trường phát triển Remix và thực hiện các hợp đồng này từ giao diện web đơn giản mà Remix cung cấp. Môn học cũng sẽ giới thiệu tới người học những cách thức hiệu quả nhất để thiết kế giải pháp với smart contract bằng ngôn ngữ Solidity và môi trường Remix.

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 được vai trò, cấu trúc và các nguyên tắc chính của smart contract trên nền tảng công nghệ blockchain.
  • Hiểu được nền tảng ngôn ngữ Solidity trong xây dựng smart contract với máy áo Ethereum (Ethereum Virtual Machine).
  • Biết cách xây dựng và phát triển smart contract trên nền tảng công nghệ blockchain.
  • Hiểu các best practice (thực tiễn tốt nhất) trong việc đánh giá tính phù hợp của các giải pháp blockchain.
  • Thực hành và phát triển smart contract.
  • Hiểu rõ cách lập trình hướng đối tượng (OOP)


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 14 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: Các khái niệm về Lập trình hướng đối tượng

  • Bài 1 - Giới thiệu về các khái niệm và thiết kế hướng đối tượng
  • Bài 2 - Các khái niệm trong lập trình hướng đối tượng
  • Bài 3 - Tạo mô hình trực quan với UML
  • Bài 4 - Phát triển lập trình hướng đối tượng

Phần 2: Cơ bản về Smart Contract và Solidity

  • Bài 5 - Tổng quan về Hợp đồng thông minh và cách thức vận hành
  • Bài 6 - Lập trình Solidity
  • Bài 7 - Phát triển hợp đồng thông minh

Assignment 1: Thiết kế và phát triển hợp đồng thông minh - Đấu giá Gây quỹ vì Công tác Xã hội

Phần 3: Smart Contract Nâng cao

  • Bài 8 - Lottery - P.1
  • Bài 9 - Lottery - P.2
  • Bài 10 - Kiểm thử

Assignment 2: Phát triển dự án sử dụng hợp đồng thông minh - Đấu giá kiểu Anh với Hợp đồng Thông minh

Phần 4: Dự án thực tế với Ethereum

  • Bài 11 - Nghiên cứu hợp đồng
  • Bài 12 - Lưu trữ và bộ nhớ
  • Bài 13 - Investigating Mapping, Arrays và Struct
  • Bài 14 - Kiểm thử và triển khai

Assignment 3: Phát triển Game sử dụng hợp đồng thông minh


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

  • Giám đốc Trung tâm Phát triển Giải pháp Thành phố Thông minh
  • 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