Smart Contract
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.
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: Thông tin cơ bản về Smart Contract
- Bài 1 - Tại sao cần smart contract
- Bài 2 - Định nghĩa smart contract
- Bài 3 - Xử lý smart contract
- Bài 4 - Triển khai smart contract
Progress Test 1
Phần 2: Solidity
- Bài 5 - Cấu trúc
- Bài 6 - Các kiểu dữ liệu và lệnh cơ bản
- Bài 7 - Các kiểu dữ liệu cụ thể
- Bài 8 - Cấu trúc dữ liệu
- Bài 9 - Access Modifier (khả năng truy cập) và ứng dụng
Progress test 2
Phần 3: Phát triển smart contract
- Bài 10 - Phát triển smart contract
- Bài 11 - Thành phần thời gian
- Bài 12 - Thẩm định và kiểm thử
- Bài 13 - Client application
Progress Test 3
Phần 4: Các yếu tố cơ bản của Tín nhiệm - Trust
- Bài 14 - Best Practice
Project 1 - Thiết kế và phát triển một smart contract
Project 2 - Phát triển một dự án sử dụng smart contract
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