Tải bản đầy đủ (.pdf) (178 trang)

KHÓA LUẬN tốt NGHIỆP áp DỤNG CÔNG NGHỆ BLOCKCHAIN xây DỰNG WEBSITE THƯƠNG mại điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.08 MB, 178 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

ĐẶNG PHƯƠNG TÂN

KHĨA LUẬN TỐT NGHIỆP

ÁP DỤNG CÔNG NGHỆ BLOCKCHAIN
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
APPLICATION OF BLOCKCHAIN TECHNOLOGY TO BUILD
E-COMMERCE WEBSITE

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐẶNG PHƯƠNG TÂN – 16521071

KHĨA LUẬN TỐT NGHIỆP

ÁP DỤNG CƠNG NGHỆ BLOCKCHAIN
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
APPLICATION OF BLOCKCHAIN TECHNOLOGY TO BUILD


E-COMMERCE WEBSITE

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
THS. TRẦN ANH DŨNG

TP. HỒ CHÍ MINH, 2021


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.


LỜI CẢM ƠN

Trên thực tế khơng có sự thành cơng nào mà không gắn liền với sự
hỗ trợ, giúp đỡ dù ít hay nhiều của ít hay nhiều người, của sự giúp đỡ trực
tiếp hay gián tiếp. Trong suốt thời gian làm làm khóa luận này, em đã nhận
được sự giúp đỡ nhiệt tình của thầy cơ và bạn bè.
Em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng, giảng
viên Khoa Công nghệ phần mềm hướng dẫn mơn Khóa luận tốt nghiệp –
Trường Đại học Cơng nghệ Thông tin, người đã hướng dẫn em trong suốt
thời gian qua. Nếu khơng có sự giúp đỡ tận tình và giảng dạy những kiến
thức trên lớp và giải đáp những thắc mắc của em, thì khóa luận lần này rất
khó thực hiện được.
Em rất mong nhận được những ý kiến đánh giá từ thầy để có những
kiến thức bổ ích và hồn thiện bản thân hơn với mơn học, lĩnh vực này.

Em xin chân thành cảm ơn thầy.
…….., ngày……, tháng……, năm…….


MỤC LỤC
Chương 1: TỔNG QUAN ĐỀ TÀI ...........................................................................4
1.1. Giới thiệu đề tài .............................................................................................4
1.2. Khảo sát hiện trạng ........................................................................................5
1.3. Một số vấn đề còn tồn tại...............................................................................6
1.4. Hướng giải quyết ...........................................................................................6
1.5. Mục tiêu đề tài ...............................................................................................6
Chương 2: KIẾN THỨC NỀN TẢNG .....................................................................7
2.1. Blockchain .....................................................................................................7
2.1.1.

Tổng quan ............................................................................................7

2.1.1.1. Giới thiệu .........................................................................................7
2.1.1.2. Tính chất của Blockchain ................................................................9
2.1.1.3. Ứng dụng của Blockchain .............................................................11
2.1.2.

Áp dụng vào đề tài.............................................................................13

2.2. Smart Contract .............................................................................................13
2.2.1.

Tổng quan ..........................................................................................13

2.2.1.1. Giới thiệu .......................................................................................13

2.2.1.2. Cơ chế hoạt động ...........................................................................14
2.2.1.3. Tính chất của Smart Contract ........................................................15
2.2.2.

Áp dụng vào đề tài.............................................................................17

2.3. Nền tảng Ethereum ......................................................................................17
2.3.1.

Tổng quan ..........................................................................................17

2.3.1.1. Giới thiệu .......................................................................................17
2.3.1.2. Các thành phần trong Ethereum ....................................................18


2.3.2.

Áp dụng vào đề tài.............................................................................23

2.4. IPFS .............................................................................................................23
2.4.1.

Tổng quan ..........................................................................................23

2.4.1.1. Giới thiệu .......................................................................................23
2.4.1.2. Đặc điểm nổi bật ............................................................................24
2.4.2.

Áp dụng vào đề tài.............................................................................25


2.5. Server NodeJS .............................................................................................26
2.5.1.

Tổng quan ..........................................................................................26

2.5.1.1. Giới thiệu .......................................................................................26
2.5.1.2. Các đặc tính của NodeJS ...............................................................27
2.5.2.

Áp dụng vào đề tài.............................................................................28

2.6. Solidity.........................................................................................................28
2.6.1.

Giới thiệu ...........................................................................................28

2.6.2.

Áp dụng vào đề tài.............................................................................28

2.7. NodeMailer ..................................................................................................28
2.7.1.

Giới thiệu ...........................................................................................28

2.7.2.

Áp dụng vào đề tài.............................................................................29

2.8. Socket.IO .....................................................................................................30

2.8.1.

Giới thiệu ...........................................................................................30

2.8.2.

Áp dụng vào đề tài.............................................................................30

Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .................................................31
3.1. Đặc tả yêu cầu..............................................................................................31
3.1.1.

Mục đích xây dựng hệ thống .............................................................31

3.1.2.

Phạm vi hệ thống ...............................................................................34


3.1.3.

Kiến trúc hệ thống .............................................................................34

3.2. Thiết kế dữ liệu ............................................................................................35
3.2.1.

Hệ thống bảng dữ liệu Smart Contract ..............................................35

3.2.1.1. Bảng “Product” thuộc Smart Contract...........................................35
3.2.1.2. Bảng “Category” thuộc Smart Contract ........................................36

3.2.1.3. Bảng “PurchasedInfo” thuộc Smart Contract ................................36
3.2.1.4. Bảng “SellerPicks” thuộc Smart Contract .....................................37
3.2.2.

Hệ thống bảng dữ liệu server NodeJs ................................................38

3.2.2.1. Bảng “Account” thuộc NodeJS .....................................................38
3.2.2.2. Bảng “Cart” thuộc NodeJS ............................................................39
3.2.2.3. Bảng “Chat-notify” thuộc NodeJS ................................................39
3.2.2.4. Bảng “Chat” thuộc NodeJS ...........................................................40
3.2.2.5. Bảng “Comment” thuộc NodeJS ...................................................40
3.2.2.6. Bảng “Product-import-info” thuộc NodeJS...................................41
3.2.2.7. Bảng “Product-imports” thuộc NodeJS .........................................41
3.2.2.8. Bảng “Product-license” thuộc NodeJS ..........................................41
3.2.2.9. Bảng “Product-quantity” thuộc NodeJS ........................................41
3.2.2.10. Bảng “Rating” thuộc NodeJS ......................................................42
3.2.2.11. Bảng “Report” thuộc NodeJS ......................................................42
3.2.2.12. Bảng “Sale” thuộc NodeJS ..........................................................42
3.2.2.13. Bảng “Shipper” thuộc NodeJS ....................................................43
3.2.2.14. Bảng “Site-settings” thuộc NodeJS .............................................43
3.2.2.15. Bảng “Wish-list” thuộc NodeJS ..................................................44
Chương 4: HIỆN THỰC HỆ THỐNG ...................................................................45


4.1. Sơ đồ Usecase ..............................................................................................45
4.1.1.

Danh sách Actor ................................................................................45

4.1.2.


Sơ đồ Usecase tổng quát....................................................................45

4.1.2.1. Sơ đồ Usecase người dùng ............................................................45
4.1.2.2. Sơ đồ Usecase người bán hàng ......................................................47
4.1.2.3. Sơ đồ Usecase admin .....................................................................47
4.1.2.4. Bảng danh sách các Usecase của hệ thống ....................................49
4.2. Một số sơ đồ tuần tự (Sequence Diagram) và sơ đồ lớp (Class Diagram)
chính 52
4.2.1.

Đăng ký .............................................................................................52

4.2.1.1. Sơ đồ tuần tự ..................................................................................52
4.2.1.2. Sơ đồ lớp ........................................................................................53
4.2.2.

Đăng nhập ..........................................................................................55

4.2.2.1. Sơ đồ tuần tự ..................................................................................55
4.2.2.2. Sơ đồ lớp ........................................................................................55
4.2.3.

Cập nhật tài khoản .............................................................................57

4.2.3.1. Sơ đồ tuần tự ..................................................................................57
4.2.3.2. Sơ đồ lớp ........................................................................................58
4.2.4.

Tạo sản phẩm.....................................................................................59


4.2.4.1. Sơ đồ tuần tự ..................................................................................59
4.2.4.2. Sơ đồ lớp ........................................................................................60
4.2.5.

Nhắn tin .............................................................................................61

4.2.5.1. Sơ đồ tuần tự ..................................................................................61
4.2.5.2. Sơ đồ lớp ........................................................................................62


4.2.6.

Đánh giá sản phẩm ............................................................................63

4.2.6.1. Sơ đồ tuần tự ..................................................................................63
4.2.6.2. Sơ đồ lớp ........................................................................................63
4.2.7.

Bình luận sản phẩm ...........................................................................65

4.2.7.1. Sơ đồ tuần tự ..................................................................................65
4.2.7.2. Sơ đồ lớp ........................................................................................66
4.2.8.

Báo cáo hàng hóa ..............................................................................67

4.2.8.1. Sơ đồ tuần tự ..................................................................................67
4.2.8.2. Sơ đồ lớp ........................................................................................67
4.2.9.


Thêm vào giỏ hàng ............................................................................69

4.2.9.1. Sơ đồ tuần tự ..................................................................................69
4.2.9.2. Sơ đồ lớp ........................................................................................69
4.2.10.

Giao dịch hàng hóa ............................................................................70

4.2.10.1. Sơ đồ tuần tự ................................................................................70
4.2.10.2. Sơ đồ lớp ......................................................................................71
4.2.11.

Tìm kiếm/lọc sản phẩm .....................................................................72

4.2.11.1. Sơ đồ tuần tự ................................................................................72
1.1.1.1. Sơ đồ lớp ........................................................................................73
4.2.12.

Cài đặt thông số hệ thống ..................................................................74

4.2.12.1. Sơ đồ tuần tự ................................................................................74
4.2.12.2. Sơ đồ lớp ......................................................................................74
4.2.13.

Quản lý sản phẩm ..............................................................................76

4.2.13.1. Sơ đồ tuần tự tổng quát ................................................................76
4.2.13.2. Chức năng cập nhật sản phẩm .....................................................78



4.2.13.3. Chức năng xác nhận sản phẩm ....................................................80
4.2.13.4. Chức năng nhập kho sản phẩm ....................................................81
4.2.13.5. Chức năng đẩy tin sản phẩm ........................................................82
4.2.13.6. Chức năng xác nhận báo cáo sản phẩm .......................................84
4.2.14.

Quản lý người dùng ...........................................................................85

4.2.14.1. Sơ đồ tuần tự tổng quát ................................................................85
4.2.14.2. Chức năng cập nhật thông tin người dùng ...................................86
4.2.14.3. Chức năng chặn người dùng ........................................................88
4.2.15.

Quản lý khuyến mãi ..........................................................................90

4.2.15.1. Sơ đồ tuần tự tổng quát ................................................................90
4.2.15.2. Chức năng thêm khuyến mãi .......................................................91
4.2.15.3. Chức năng cập nhật khuyến mãi ..................................................93
4.2.16.

Quản lý giao dịch ..............................................................................95

4.2.16.1. Sơ đồ tuần tự tổng quát ................................................................95
4.2.16.2. Chức năng cập nhật người giao ...................................................97
4.2.16.3. Chức năng xác nhận giao hàng ....................................................99
4.3. Thiết kế giao diện ......................................................................................101
4.3.1.

Màn hình Trang chủ ........................................................................101


4.3.2.

Màn hình trang Đăng nhập/Đăng ký ...............................................102

4.3.3.

Màn hình kích hoạt tài khoản ..........................................................103

4.3.4.

Màn hình Qn mật khẩu ................................................................103

4.3.4.1. Nhập Email ..................................................................................103
4.3.4.2. Nhập mã xác nhận .......................................................................104
4.3.4.3. Đổi mật khẩu................................................................................104


4.3.5.

Màn hình trang Liên hệ ...................................................................105

4.3.6.

Màn hình trang Thơng tin tài khoản ................................................106

4.3.6.1. Lịch sử mua .................................................................................106
4.3.6.2. Đơn hàng......................................................................................107
4.3.6.3. Sản phẩm đã duyệt .......................................................................108
4.3.6.4. Sản phẩm chờ duyệt .....................................................................109

4.3.6.5. Sản phẩm bị từ chối .....................................................................110
4.3.6.6. Cập nhật thông tin ........................................................................111
4.3.7.

Màn hình trang nhắn tin ..................................................................112

4.3.8.

Màn hình trang thêm sản phẩm .......................................................112

4.3.9.

Màn hình trang Chi tiết sản phẩm ...................................................113

4.3.10.

Màn hình trang Cập nhật thơng tin sản phẩm .................................114

4.3.11.

Màn hình trang Danh sách mong muốn ..........................................114

4.3.12.

Màn hình trang Giỏ hàng.................................................................115

4.3.13.

Màn hình trang Tìm kiếm sản phẩm ...............................................116


4.3.13.1. Tìm kiếm theo tên ......................................................................116
4.3.13.2. Tìm kiếm theo loại .....................................................................117
4.3.13.3. Tìm kiếm theo mức giá ..............................................................118
4.3.14.

Màn hình trang Báo cáo thống kê ...................................................119

4.3.15.

Màn hình trang Cài đặt thơng số hệ thống ......................................119

4.3.16.

Màn hình trang Quản lý hàng hóa ...................................................120

4.3.16.1. Tất cả .........................................................................................120
4.3.16.2. Loại hàng hóa ............................................................................121
4.3.16.3. Kiểm duyệt hàng hóa .................................................................121


4.3.16.4. Nhập kho hàng hóa ....................................................................122
4.3.16.5. Chi tiết nhập kho ........................................................................122
4.3.16.6. Đẩy tin .......................................................................................123
4.3.16.7. Hàng hóa bị báo cáo ..................................................................124
4.3.16.8. Hàng hóa bị từ chối....................................................................124
4.3.17.

Màn hình trang Quản lý tài khoản ...................................................125

4.3.17.1. Tất cả .........................................................................................125

4.3.17.2. Tài khoản bị khóa ......................................................................125
4.3.18.

Màn hình trang Quản lý khuyến mãi ...............................................126

4.3.18.1. Khả dụng ....................................................................................126
4.3.18.2. Chưa khả dụng ...........................................................................126
4.3.19.

Màn hình trang Quản lý đơn hàng ...................................................127

4.3.19.1. Đang giao ...................................................................................127
4.3.19.2. Đã giao .......................................................................................127
Chương 5:

YÊU CẦU HỆ THỐNG VÀ CÀI ĐẶT ..........................................128

5.1. Yêu cầu hệ thống .......................................................................................128
5.2. Cài đặt ........................................................................................................128
5.2.1.

NodeJS và NPM ..............................................................................128

5.2.2.

MongoDB ........................................................................................135

5.2.3.

MetaMask ........................................................................................145


5.2.4.

Cài đặt phần hỗ trợ ..........................................................................148

5.2.5.

Chạy chương trình ...........................................................................149

Chương 6:

Tổng kết ...........................................................................................155

6.1. Kết quả đạt được ........................................................................................155


6.1.1.

Về nội dung nghiên cứu ..................................................................155

6.1.2.

Về chương trình và ứng dụng ..........................................................155

6.2.

Đánh giá .................................................................................................155

6.2.1.


Thuận lợi..........................................................................................155

6.2.2.

Khó khăn .........................................................................................156

6.3.

Hướng phát triển ...................................................................................156

6.4.

Kết luận ..................................................................................................157


DANH MỤC HÌNH
Hình 1.1 - Website thương mại Amazon ....................................................................5
Hình 2.1 - Cơng nghệ Blockchain ...............................................................................9
Hình 2.2 - Cách hoạt động của Blockchain ..............................................................11
Hình 2.3 - Ứng dụng thực tế của Blockchain............................................................13
Hình 2.4 - Hợp đồng truyền thống ............................................................................14
Hình 2.5 - Hợp đồng thơng minh ..............................................................................14
Hình 2.6 - Cách Smart Contract hoạt động ...............................................................15
Hình 2.7 - Kết hợp Smart Contract vào Blockchain .................................................17
Hình 2.8 - Nền tảng Ethereum ..................................................................................18
Hình 2.9 - Tài khoản trong Ethereum .......................................................................20
Hình 2.10 - Cấu trúc cây Merkle ...............................................................................21
Hình 2.11 - Phí giao dịch trong Ethereum ................................................................22
Hình 2.12 - Block trong Ethereum ............................................................................23
Hình 2.13 - Mơ hình IPFS .........................................................................................24

Hình 2.14 - Cách thức lưu trữ giữa HTTP và IPFS ..................................................25
Hình 2.15 - Mơ hình hệ thống Node.js .....................................................................27
Hình 3.1 - Mơ hình kiến trúc hệ thống ......................................................................35
Hình 4.1 - Sơ đồ use-case người dùng của hệ thống.................................................46
Hình 4.2 - Sơ đồ use-case người bán hàng của hệ thống ..........................................47
Hình 4.3 - Sơ đồ use-case admin của hệ thống .........................................................49
Hình 4.4 - Sơ đồ tuần tự chức năng đăng ký.............................................................52
Hình 4.5 - Sơ đồ lớp chức năng đăng ký...................................................................53
Hình 4.6 - Sơ đồ tuần tự chức năng đăng nhập .........................................................55
Hình 4.7 - Sơ đồ lớp chức năng đăng nhập ...............................................................56
Hình 4.8 - Sơ đồ tuần tự chức năng cập nhật tài khoản ............................................57
Hình 4.9 - Sơ đồ lớp chức năng cập nhật tài khoản ..................................................58
Hình 4.10 - Sơ đồ tuần tự chức năng tạo sản phẩm ..................................................59
Hình 4.11 - Sơ đồ lớp chức năng tạo sản phẩm ........................................................60


Hình 4.12 - Sơ đồ tuần tự chức năng nhắn tin ..........................................................61
Hình 4.13 - Sơ đồ lớp chức năng nhắn tin ................................................................62
Hình 4.14 - Sơ đồ tuần tự chức năng đánh giá sản phẩm .........................................63
Hình 4.15 - Sơ đồ lớp chức năng đánh giá sản phẩm ...............................................63
Hình 4.16 - Sơ đồ tuần tự chức năng bình luận sản phẩm ........................................65
Hình 4.17 - Sơ đồ lớp chức năng bình luận sản phẩm ..............................................66
Hình 4.18 - Sơ đồ tuần tự chức năng báo cáo sản phẩm ...........................................67
Hình 4.19 - Sơ đồ lớp chức năng báo cáo sản phẩm .................................................67
Hình 4.20 - Sơ đồ tuần tự chức năng thêm vào giỏ hàng ..........................................69
Hình 4.21 - Sơ đồ lớp chức năng thêm vào giỏ hàng................................................69
Hình 4.22 - Sơ đồ tuần tự chức năng giao dịch hàng hóa .........................................70
Hình 4.23 - Sơ đồ lớp chức năng giao dịch hàng hóa ...............................................71
Hình 4.24 - Sơ đồ tuần tự chức năng tìm kiếm/lọc sản phẩm ...................................72
Hình 4.25 - Sơ đồ lớp chức năng tìm kiếm/lọc sản phẩm .........................................73

Hình 4.26 - Sơ đồ tuần tự chức năng cài đặt thơng số hệ thống ...............................74
Hình 4.27 - Sơ đồ lớp chức năng cài đặt thơng số hệ thống .....................................74
Hình 4.28 - Sơ đồ tuần tự tổng quát chức năng quản lý sản phẩm ...........................76
Hình 4.29 - Sơ đồ tuần tự chức năng cập nhật sản phẩm ..........................................78
Hình 4.30 - Sơ đồ lớp chức năng cập nhật sản phẩm................................................79
Hình 4.31 - Sơ đồ tuần tự chức năng xác nhận sản phẩm .........................................80
Hình 4.32 - Sơ đồ lớp chức năng xác nhận sản phẩm ...............................................80
Hình 4.33 - Sơ đồ tuần tự chức năng nhập kho sản phẩm ........................................81
Hình 4.34 - Sơ đồ lớp chức năng nhập kho sản phẩm ..............................................81
Hình 4.35 - Sơ đồ tuần tự chức năng đẩy tin sản phẩm ............................................82
Hình 4.36 - Sơ đồ lớp chức năng đẩy tin sản phẩm ..................................................83
Hình 4.37 - Sơ đồ tuần tự chức năng xác nhận báo cáo sản phẩm ...........................84
Hình 4.38 - Sơ đồ lớp chức năng xác nhận báo cáo sản phẩm .................................84
Hình 4.39 - Sơ đồ tuần tự tổng quát chức năng quản lý người dùng ........................85
Hình 4.40 - Sơ đồ tuần tự chức năng chỉnh sửa thông tin người dùng .....................86


Hình 4.41 - Sơ đồ lớp chức năng chỉnh sửa thơng tin người dùng ...........................87
Hình 4.42 - Sơ đồ tuần tự chức năng chặn người dùng ............................................88
Hình 4.43 - Sơ đồ lớp chức năng chặn người dùng ..................................................89
Hình 4.44 - Sơ đồ tuần tự tổng quát chức năng quản lý khuyến mãi........................90
Hình 4.45 - Sơ đồ tuần tự chức năng thêm khuyến mãi............................................91
Hình 4.46 - Sơ đồ lớp chức năng thêm khuyến mãi..................................................92
Hình 4.47 - Sơ đồ tuần tự chức năng cập nhật khuyến mãi ......................................93
Hình 4.48 - Sơ đồ lớp chức năng cập nhật khuyến mãi ............................................94
Hình 4.49 - Sơ đồ tuần tự chức năng quản lý giao dịch ............................................95
Hình 4.50 - Sơ đồ tuần tự chức năng cập nhật người giao........................................97
Hình 4.51 - Sơ đồ lớp chức năng cập nhật người giao..............................................98
Hình 4.52 - Sơ đồ tuần tự chức năng xác nhận giao hàng ........................................99
Hình 4.53 - Sơ đồ lớp chức năng xác nhận giao hàng ............................................100

Hình 4.54 - Màn hình Trang chủ .............................................................................101
Hình 4.55 - Màn hình trang Đăng nhập/Đăng ký ...................................................102
Hình 4.56 - Màn hình trang Kích hoạt tài khoản ....................................................103
Hình 4.57 - Màn hình trang Nhập Email ................................................................103
Hình 4.58 - Màn hình trang Nhập mã xác nhận ......................................................104
Hình 4.59 - Màn hình trang Đổi mật khẩu ..............................................................104
Hình 4.60 - Màn hình trang Liên hệ ........................................................................105
Hình 4.61 - Màn hình trang Thơng tin tài khoản - Lịch sử mua .............................106
Hình 4.62 - Màn hình trang Thơng tin tài khoản – Đơn hàng ................................107
Hình 4.63 - Màn hình trang Thơng tin tài khoản – Sản phẩm đã duyệt..................108
Hình 4.64 - Màn hình trang Thơng tin tài khoản – Sản phẩm chờ duyệt ...............109
Hình 4.65 - Màn hình trang Thông tin tài khoản – Sản phẩm bị từ chối ...............110
Hình 4.66 - Màn hình trang Thơng tin tài khoản – Cập nhật thơng tin ..................111
Hình 4.67 - Màn hình trang Nhắn tin ......................................................................112
Hình 4.68 - Màn hình trang Thêm sản phẩm ..........................................................112
Hình 4.69 - Màn hình trang Chi tiết sản phẩm........................................................113


Hình 4.70 - Màn hình trang Cập nhật thơng tin sản phẩm ......................................114
Hình 4.71 - Màn hình trang Danh sách mong muốn ...............................................114
Hình 4.72 - Màn hình trang Giỏ hàng .....................................................................115
Hình 4.73 - Màn hình trang Tìm kiếm sản phẩm - Theo tên ..................................116
Hình 4.74 - Màn hình trang Tìm kiếm sản phẩm - Theo loại .................................117
Hình 4.75 - Màn hình trang Tìm kiếm sản phẩm - Theo mức giá ..........................118
Hình 4.76 - Màn hình trang Báo cáo thống kê ........................................................119
Hình 4.77 - Màn hình trang Cài đặt thơng số hệ thống ...........................................119
Hình 4.78 - Màn hình trang Quản lý hàng hóa - Tất cả ..........................................121
Hình 4.79 - Màn hình trang Quản lý hàng hóa – Loại hàng hóa ............................121
Hình 4.80 - Màn hình trang Quản lý hàng hóa – Kiểm duyệt hàng hóa .................121
Hình 4.81 - Màn hình trang Quản lý hàng hóa – Nhập kho hàng hóa ....................122

Hình 4.82 - Màn hình trang Quản lý hàng hóa – Chi tiết nhập kho........................122
Hình 4.83 - Màn hình trang Quản lý hàng hóa – Đẩy tin .......................................123
Hình 4.84 - Màn hình trang Quản lý hàng hóa – Hàng hóa bị báo cáo ..................124
Hình 4.85 - Màn hình trang Quản lý hàng hóa – Hàng hóa bị từ chối....................124
Hình 4.86 - Màn hình trang Quản lý tài khoản - Tất cả ..........................................125
Hình 4.87 - Màn hình trang Quản lý tài khoản – Tài khoản bị khóa ......................125
Hình 4.88 - Màn hình trang Quản lý khuyến mãi – Khả dụng ...............................126
Hình 4.89 - Màn hình trang Quản lý khuyến mãi – Chưa khả dụng .......................126
Hình 4.90 - Màn hình trang Quản lý đơn hàng – Đang giao ..................................127
Hình 4.91 - Màn hình trang Quản lý đơn hàng – Đã giao ......................................127
Hình 5.1 - Trang download NodeJS ........................................................................129
Hình 5.2 - File cài đặt NodeJS ................................................................................129
Hình 5.3 - Cài đặt NodeJS.......................................................................................130
Hình 5.4 - Giấy phép sử dụng NodeJS ....................................................................131
Hình 5.5 - Thư mục cài đặt NodeJS ........................................................................132
Hình 5.6 - Tùy chỉnh cài đặt NodeJS ......................................................................133
Hình 5.7 - Bắt đầu cài đặt NodeJS ..........................................................................134


Hình 5.8 - Hồn thành cài đặt NodeJS ....................................................................135
Hình 5.9 - Trang download MongoDB ...................................................................136
Hình 5.10 - File cài đặt MongoDB .........................................................................136
Hình 5.11 - Cài đặt MongoDB ................................................................................137
Hình 5.12 - Giấy phép sử dụng MongoDB .............................................................138
Hình 5.13 - Kiểu cài đặt MongoDB ........................................................................139
Hình 5.14 - Tùy chỉnh cài đặt MongoDB ...............................................................140
Hình 5.15 - Thư mục lưu data và log cho MongoDB .............................................141
Hình 5.16 - Cài đặt MongoDB Compass ................................................................142
Hình 5.17 - Bắt đầu cài đặt MongoDB ...................................................................143
Hình 5.18 - Hồn thành cài đặt MongoDB .............................................................144

Hình 5.19 - Thư mục chứa MongoDB ....................................................................145
Hình 5.20 - Trang download MetaMask .................................................................146
Hình 5.21 - Bắt đầu MetaMask ...............................................................................146
Hình 5.22 - Tạo ví MetaMask .................................................................................147
Hình 5.23 - Đồng ý điều khoản MetaMask .............................................................147
Hình 5.24 - Mật khẩu ví MetaMask ........................................................................148
Hình 5.25 - Thay đổi server MetaMask ..................................................................149
Hình 5.26 - Danh sách tài khoản ví mặc định .........................................................151
Hình 5.27 - Nhập tài khoản .....................................................................................152
Hình 5.28 - Nhập private key ..................................................................................152
Hình 5.29 - Copy địa chỉ ví .....................................................................................153
Hình 5.30 - Cập nhật địa chỉ ví ...............................................................................154


DANH MỤC BẢNG
Bảng 3.1 - Danh sách các Model Smart Contract .....................................................35
Bảng 3.2 - Mô tả bảng "Product" thuộc Smart Contract ...........................................36
Bảng 3.3 - Mô tả bảng "Product" thuộc Smart Contract ...........................................36
Bảng 3.4 - Mô tả bảng "PurchasedInfo" thuộc Smart Contract ................................37
Bảng 3.5 - Mô tả bảng "SellerPicks" thuộc Smart Contract .....................................38
Bảng 3.6 - Danh sách các Model Server NodeJs ......................................................38
Bảng 3.7 - Mô tả bảng "Account" thuộc NodeJS......................................................39
Bảng 3.8 - Mô tả bảng "Cart" thuộc NodeJS ............................................................39
Bảng 3.9 - Mô tả bảng "Chat-notify" thuộc NodeJS.................................................40
Bảng 3.10 - Mô tả bảng "Chat " thuộc NodeJS.........................................................40
Bảng 3.11 - Mô tả bảng "Comment " thuộc NodeJS ................................................41
Bảng 3.12 - Mô tả bảng "Product-import-info" thuộc NodeJS .................................41
Bảng 3.13 - Mô tả bảng "Product-imports " thuộc NodeJS ......................................41
Bảng 3.14 - Mô tả bảng "Product-license" thuộc NodeJS ........................................41
Bảng 3.15 - Mô tả bảng "Product-quantity" thuộc NodeJS ......................................42

Bảng 3.16 - Mô tả bảng "Rating" thuộc NodeJS ......................................................42
Bảng 3.17 - Mô tả bảng "Report" thuộc NodeJS ......................................................42
Bảng 3.18 - Mô tả bảng "Sale" thuộc NodeJS ..........................................................43
Bảng 3.19 - Mô tả bảng "Shipper" thuộc NodeJS .....................................................43
Bảng 3.20 - Mô tả bảng "Site-settings" thuộc NodeJS .............................................44
Bảng 3.21 - Mô tả bảng "Wish-list" thuộc NodeJS ..................................................44
Bảng 4.1 Danh sách actor của hệ thốnga ..................................................................45
Bảng 4.2 - Danh sách các use-case của hệ thống ......................................................51
Bảng 5.1 - Danh sách tài khoản ..............................................................................150


DANH MỤC TỪ VIẾT TẮT
Cụm từ đầy đủ

STT

Chữ cái viết tắt/ký hiệu

1

ETH

Ethereum

2

IPFS

InterPlanetary File System


3

API

Application Programming Interface

4

SDK

Software Development Kit

5

DB

6

MVC

Model – View – Controller

7

NPM

Node Package Manager

8


JS

9

MERN

MongoDB – ExpressJS – React - NodeJS

10

DApp

Decentralized Application

Database

Javascript


TĨM TẮT KHĨA LUẬN
-

Tìm hiểu và nắm vững cơ chế hoạt động của Blockchain.

-

Tìm hiểu về nền tảng Ethereum và áp dụng SmartContract vào hệ thống
thương mại điện tử bao gồm những chức năng:
o Lưu trữ thông tin người dùng.
o Lưu trữ thơng tin hàng hóa.

o Lưu trữ hợp đồng mua, bán hàng hóa.
o Thực hiện giao dịch hàng hóa bằng tiền ảo ETH.

-

Tìm hiểu về Truffle framework và ứng dụng trong việc build, deploy
SmartContract, liên kết SmartContract với giao diện nguời dùng tương tác
với hệ thống.

-

Tìm hiểu về Metamask và ứng dụng trong liên kết lưu trữ dữ liệu vào
SmartContract và giao dịch hàng hóa trên hệ thống.

-

Tìm hiểu về Web3Js và ứng dụng trong giao tiếp giữa giao diện người dùng
với SmartContract để thực hiện ghi dữ liệu vào Blockchain.

-

Tìm hiểu lưu trữ phân tán hình ảnh IPFS và ứng dụng vào hệ thống nhằm lưu
trữ hình ảnh hàng hóa phân tán, giúp dữ liệu hình ảnh khơng bao giờ được
thay đổi.

-

Tìm hiểu về backend với NodeJs và ứng dụng vào hệ thống nhằm xây dựng
server song song với nền tảng Blockchain giúp tăng tốc độ load dữ liệu,
mang đến cho người dùng trải nghiệm mượt mà khi sử dụng hệ thống. Hơn

thế nữa, tích hợp nhiều chức năng cần thiết để đáp ứng một website thương
mại điện tử đúng nghĩa mà hệ thống Blockchain khó mà đáp ứng được.

-

Xây dựng hệ thống thương mại điện tử gồm:


Đăng ký: gồm những thông tin cá nhân cần thiết để thực hiện giao
dịch hàng hóa và ví điện tử Ethereum.



Đăng nhập: dùng tài khoản, mật khẩu đồng thời dùng ví điện tử
Ethereum của Metamask đăng nhập vào hệ thống.



Cập nhập thông tin cá nhân.

1




Đăng thơng tin bán hàng hóa.



Chỉnh sửa thơng tin hàng hóa.




Hiển thị hàng hóa: hiển thị bao gồm những thơng tin sau:
o Hiển thị thơng tin chi tiết hàng hóa.
o Hiển thị thông tin người đăng bán.
o Hiển thị danh sách gợi ý hàng hóa.
o Hiển thị bình luận về hàng hóa.
o Hiển thị đẩy tin của hàng hóa.



Tìm kiếm/lọc hàng hóa trên hệ thống: bao gồm tìm kiếm/lọc theo
những trường sau:
o Tìm kiếm/lọc theo từ khóa.
o Tìm kiếm/lọc theo danh mục hàng hóa.
o Tìm kiếm/lọc theo khoảng giá hàng hóa mong muốn.



Quản lý hàng hóa đã giao dịch: bao gồm quản lý những loại sau:
o Quản lý những hàng hóa đăng bán.
o Quản lý những đơn hàng đã bán.
o Quản lý những hàng hóa bị từ chối.



Hiển thị thơng tin chi tiết từng người dùng: với từng người dùng cụ
thể có trang hiển thị thơng tin cá nhân bao gồm:
o Hiển thị thông tin cá nhân.

o Hiển thị danh sách hàng hóa đang chờ giao.
o Hiển thị danh sách hàng hóa đã giao.



Nhắn tin giữa người dùng với nhau.



Kiểm duyệt hàng hóa cho admin: hiển thị những hàng hóa đang chờ
duyệt, sau khi duyệt sẽ được hiển thị trên trang chính của hệ thống
hoặc nếu sai phạm sẽ từ chối.



Xóa hàng hóa cho admin và người dùng: admin và người dùng sở
hữa hàng hóa có thể xóa hàng hóa ra khỏi hệ thống.



Bình luận hàng hóa.

2




Báo báo sai phạm hàng hóa: vào trang chi tiết hàng hóa, bất cứ
người dùng đăng nhập hoặc chưa đăng nhập đều có thể báo cáo sai
phạm về cho admin.




Nhận báo báo sai phạm hàng hóa từ người dùng: tại trang quản lý,
admin xem những hàng hóa được báo cáo sai phạm của người dùng,
tại trang này admin có thể chặn hàng hóa.



Trang quản lý của admin: bao gồm quản lý những thông tin sau:
o Thống kê báo cáo doanh thu, lợi nhuận, số lượng hàng hóa trên
hệ thống.
o Hàng hóa trên hệ thống.
o Khuyến mãi trên hệ thống.
o Người dùng trên hệ thống.
o Đơn hàng trên hệ thống.
o Cài đặt thơng số hệ thống.



Chức năng mua hàng hóa trực tiếp trên hệ thống bằng tiền ảo
ETH.



Quản lý hàng hóa của người dùng: bao gồm quản lý:
o Hàng hóa đang đăng bán.
o Hàng hóa đợi xác nhận từ admin.
o Hàng hóa đã bán/đã mua.
o Hàng hóa bị chặn bởi admin.

o Hàng hóa đã xố.

3


Chương 1:

TỔNG QUAN ĐỀ TÀI

1.1. Giới thiệu đề tài
Ngành thương mại điện tử là một trong những ngành được đánh giá là tiềm năng
nhất hiện nay. Theo dự đoán, năm 2021 sắp đến, sẽ là thời kỳ hoàng kim của ngành
thương mại này với 4.479 nghìn tỷ đơ la.
Tuy nhiên, những bất cập của ngành thương mại điện tử hiện nay vẫn là
khơng nhỏ. Nếu chúng ta khơng muốn nói là còn khá nhiều những bất cập. Một số
bất cập đó, cần phải kể đến như: nhiều người tiêu dùng cịn hồi nghi, chi phí cao,
mơ hình phân phối kém hiệu quả…. Đây chính là lý do chính, vì sao có sự xuất hiện
của Blockchain trong ngành thương mại điện tử.
Các chuyên gia tin rằng, với đặc tính minh bạch, rõ ràng, bất biến của
Blockchain, chính nền cơng nghệ này sẽ đem đến một bước tiến thật sự hiệu quả
cho ngành thương mại điện tử. Ứng dụng của công nghệ Blockchain sẽ giúp ngành
thương mại điện tử này sớm bước tới thời kỳ hoàng kim trước thời hạn đặt ra.
Với việc ứng dụng công nghệ Blockchain, ngành thương mại điện tử sẽ có
thể khắc phục được hàng loạt những bất cập tồn đọng. Một trong những thế mạnh
mà công nghệ mới này đem đến chính là:
-

Chế độ bảo mật được tối ưu: ứng dụng Blockchain trong thương mại
điện tử sẽ đảm bảo được sự bảo mật thông tin. Bởi tất cả những thông
tin được lưu trữ trong Blockchain là bất biến, an tồn và bảo mật.

Khơng ai có thể hack, lấy cắp thông tin trên Blockchain.

-

Hạn chế được mức chi phí: nhờ có sự minh bạch, rõ ràng bởi
Blockchain, sẽ tạo được niềm tin nhất định từ thị trường. Các nhà đầu
tư lúc này sẽ có thể giảm bớt được 1 phần chi phí cho các hạng mục
quảng cáo.

-

Tốc độ giao dịch nhanh hơn: thông qua hợp đồng thông minh, mọi
giao dịch tại hệ thống thương mại điện tử sẽ được thực hiện nhanh

4


chóng khi khớp lệnh. Giúp rút ngắn thời gian giao dịch cho người tiêu
dùng.
Trên tinh thần đó, chúng em đã nghiên cứu và tìm hiểu, ứng dụng một số cơng
nghệ như Blockchain, Ethereum, SmartContract, IPFS, NodeJS, ReactJS, Web3JS,
EtherJS, Truffle Framework để xây dựng một website thương mại điện tử với đầy
đủ những tính năng cần thiết, giúp người dùng có thể giao dịch an tồn, nhanh
chóng, minh bạch, giảm thiểu rủi ro, thúc đẩy sự phát triển của con người và xã hội.
1.2.

Khảo sát hiện trạng

Năm 1995 - Craigslist.org: Nền tảng web trực tuyến đầu tiên, chỉ kết nối người mua
và người bán mà không cung cấp bất kỳ phương tiện thanh toán nào. Trang

web dần trở thành nơi cho những tên lừa đảo trục lợi.
Năm 2018 – Amazon, Alibaba, Ebay: Thời đại hoàng kim, dự kiến doanh thu
bán lẻ trực tuyến chạm mốc 4,060 tỷ USD năm 2020.

Hình 1.1 - Website thương mại Amazon
Tuy các “ông lớn” bán hàng trực tuyến này đã nỗ lực tối đa để bảo vệ người
mua và người bán khỏi những vụ lừa đảo thì các lỗ hổng trong hệ thống vẫn tồn

5


×