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

Khóa luận ứng dụng truy xuất nguồn gốc dựa trên ethereum smart contract

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 (5.96 MB, 153 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

NGUYỄN THÀNH HIẾU
TRẦN QUỐC KHÁNH

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

ỨNG DỤNG TRUY XUẤT NGUỒN GỐC DỰA
TRÊN ETHEREUM SMART CONTRACT
Developing a commodities traceability application based
on Ethereum Blockchain and Smart Contract

KỸ SƯ/ CỬ NHÂN NGÀNH CÔNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2023


ĐẠ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

NGUYỄN THÀNH HIẾU – 19521505
TRẦN QUỐC KHÁNH – 19521686

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

ỨNG DỤNG TRUY XUẤT NGUỒN GỐC DỰA


TRÊN ETHEREUM SMART CONTRACT
Developing a commodities traceability application based
on Ethereum Blockchain and Smart Contract

KỸ SƯ/ CỬ NHÂN NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
NGUYỄN TRỊNH ĐƠNG

TP. HỒ CHÍ MINH, 2023


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.
1........................................................…..– Chủ tịch.
2..............................................................– Thư ký.
3. ........................................................... – Ủy viên.
4. ........................................................... – Ủy v


LỜI CẢM ƠN
Lời nói đầu, chúng em gửi lời cảm ơn đến các quý thầy cô giảng viên của
Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh
và đặc biệt Khoa Cơng nghệ Phần mềm đã hỗ trợ, giảng dạy hai em trong thời gian
học tập tại trường, từ đó có những kiến thức quan trọng, phù hợp, để xây dựng nền
tảng để phát triển đề tài.
Điều thứ hai, chúng em muốn gửi lời cảm ơn trực tiếp đến thầy Nguyễn Trịnh
Đông, là giảng viên hướng dẫn trực tiếp đến nhóm. Những lời tư vấn, góp ý và hướng
dẫn tận tính của thầy là những điều quý báu giúp nhóm chúng em qua từng giai đoạn

không chỉ của luận án mà trong quá trình học tập. Sự hỗ trợ và chỉ dẫn của thầy mà
chúng em đã thực hiện và hoàn thành đề tài khóa luận tốt nhất.
Trong q trình thực hiện khóa luận, chúng em đã vận dùng và tổng hợp những
kiến thức đã các tích lũy và học tập được, đồng thời kết hợp với những kiến thức mới
trong quá trình phát triển đề tài. Do kinh nghiệm và kiến thức khi thực hiện của nhóm
cịn nhiều khó khăn và hạn chế ở từng giai đoạn thực hiện, điều đó có thể dẫn đến các
thiếu sót. Vì vậy, chúng em mong có thể nhận được những ý kiến, lời góp ý quý báu
từ quý thầy cô để giúp cho bài báo cáo của chúng em thêm hoàn thiện hơn.
Lời cuối cùng, hai em chân thành gửi lời cảm ơn sâu sắc nhất đến q thầy cơ.
TP. Hồ Chí Minh, Ngày

tháng 7 năm 2023

Sinh viên

NGUYỄN THÀNH HIẾU
TRẦN QUỐC KHÁNH


MỤC LỤC

LỜI CẢM ƠN .............................................................................................................4
MỤC LỤC ...................................................................................................................5
DANH MỤC HÌNH .................................................................................................12
DANH MỤC BẢNG .................................................................................................17
DANH MỤC TỪ VIẾT TẮT ....................................................................................18
TÓM TẮT KHÓA LUẬN ...........................................................................................1
ĐỀ CƯƠNG CHI TIẾT .............................................................................................3
CHƯƠNG 1: MỞ ĐẦU ..............................................................................................9
1.1.


Lý do chọn đề tài ................................................................................ 9

1.2.

Mục đích nghiên cứu .......................................................................... 9

1.2.1. Khách quan..............................................................................................9
1.2.2. Chủ quan ...............................................................................................10
Đối tượng nghiên cứu ....................................................................... 10

1.3.

1.3.1. Các công nghệ nghiên cứu: ...................................................................10
1.3.2. Đối tượng sử dụng đề tài hướng đến: ....................................................11
Phạm vi nghiên cứu .......................................................................... 11

1.4.

1.4.1. Phạm vi môi trường: .............................................................................11
1.4.2. Phạm vi chức năng: ...............................................................................11
CHƯƠNG 2: KIẾN THỨC NỀN TẢNG ................................................................13
2.1 ReactJS ................................................................................................. 13
2.1.1

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

2.1.2

Những khái niệm cơ bản .......................................................................14



Giới thiệu Ant Design ...........................................................................15

2.1.3

2.2 NodeJS.................................................................................................. 15
2.2.1

Giới thiệu NodeJS .................................................................................15

2.2.2

Lý do chọn NodeJS ...............................................................................16

2.3 Express JS – Framework của Node JS ................................................. 17
2.3.1

Giới thiệu Express JS ............................................................................17

2.3.2

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

2.4 Smart Contract và Ethereum ............................................................... 18
2.4.1

Tổng quan về Ethereum ........................................................................18

2.4.2


Tổng quan về Smart Contract ...............................................................20

2.4.3

Lý do lựa chọn ứng dụng Blockchain vào đề tài ..................................21

2.5 Firebase ................................................................................................ 22
2.5.1

Giới thiệu về Firebase ...........................................................................22

2.5.2

Áp dụng Firebase Cloud Messaging (FCM) .........................................22

2.6 Go Ethereum ........................................................................................ 23
2.6.1

Giới thiệu về Go Ethereum (Geth) .................................................... 23

2.6.2

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

2.7 Truffle .................................................................................................. 24
2.7.1

Giới thiệu về Truffle ......................................................................... 24


2.7.2

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

2.8 Amazon Web Services .......................................................................... 25
2.8.1

Giới thiệu về Amazon Web Services ................................................. 25

2.8.2

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

2.9 Android – Kotlin .................................................................................. 26


2.9.1

Giới thiệu về Android ....................................................................... 26

2.9.2

Giới thiệu về Kotlin .......................................................................... 27

2.9.3

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

CHƯƠNG 3: THIẾT KẾ - SỬ DỤNG BLOCKCHAIN TRONG HỆ THỐNG ....28
3.1 Tổng quan về mạng Ethereum blockchain công khai (Ethereum Public

Blockchain Network) ................................................................................... 28
3.2 Tổng quan về mạng Ethereum Blockchain nội bộ (Ethereum Private
Blockchain Network) ................................................................................... 28
3.2.1

Giới thiệu về PoA Private Blockchain .............................................. 29

3.2.2

Kiến trúc của Nút trong Ethereum (Ethereum Node Structure) ...... 29

3.3 Thuật toán đồng thuận ......................................................................... 32
3.3.1

Khái niệm thuật toán đồng thuận ..................................................... 32

3.3.2

Thuật toán đồng thuận trong Geth ................................................... 32

Thuật toán đồng thuận Ethash: ................................................................... 32
Thuật toán đồng thuận Clique: .................................................................... 33
3.4 Kiến trúc Blockchain trong hệ thống ................................................... 33
3.4.1

Kiến trúc luồng hoạt động của Public Blockchain ............................ 33

3.4.2

Kiến trúc luồng hoạt động của Private Blockchain .......................... 35


3.5 So sánh Public Blockchain Network và Private Blockchain Network .. 36
3.5.1

Khả năng sử dụng và tiếp cận ........................................................... 36

3.5.2

Quản trị ............................................................................................ 36

3.5.3

Sự minh bạch .................................................................................... 37

3.5.4

Bảo mật và hiệu suất ......................................................................... 37


Tính ứng dụng .................................................................................. 37

3.5.5

CHƯƠNG 4: PHÂN TÍCH U CẦU HỆ THỐNG ..............................................38
4.1 Phân tích yêu cầu đề tài ........................................................................ 38
4.1.1

Mô tả nghiệp vụ hệ thống .....................................................................38

4.1.2


Yêu cầu chứng năng nghiệp vụ .............................................................40

4.1.3

Yêu cầu phi chức năng ..........................................................................41

4.2 Phân tích thiết kế Domain Model ......................................................... 43
4.2.1

Sơ đồ mô tả Domain .............................................................................43

4.2.2

Mô tả các miền đối tượng .....................................................................44

4.3 Mô tả sơ đồ Usecases ............................................................................ 46
Authentication Usecase ..................................................................... 48

4.3.1
4.3.1.1

Đặc tả Usecase “Đăng nhập”........................................................ 48

4.3.2

Usecase quản lý tài khoản .....................................................................51

4.3.3


Usecase quản lý hạt giống .....................................................................56

4.3.4

Usecase quản lý mảnh đất của nông trại ...............................................58

4.4.7

Usecase quản lý dự án thu hoạch ..........................................................69

4.4.8

Usecase quản lý dự án vận chuyển .......................................................71

4.4.9

Usecase quản lý dự án nhập/ xuất kho ..................................................73

4.4.10 Usecase quản lý dự án sản xuất.............................................................75
4.5 Thiết kế sơ đồ hoạt động – Activity Diagram ....................................... 78
4.5.1

Sơ đồ Activity Đăng nhập .....................................................................78

4.5.2

Sơ đồ Activity Đăng xuất ......................................................................79

4.5.3


Sơ đồ Activity Thay đổi mật khẩu ........................................................79

4.5.4

Sơ đồ Activity Quên mật khẩu ..............................................................80

4.5.5

Sơ đồ Activity Tạo tài khoản ................................................................80

4.5.6

Sơ đồ Activity Tạo nông trại .................................................................81


4.5.7

Sơ đồ Activity Cập nhật vai trò/ chức năng tài khoản ..........................81

4.5.8

Sơ đồ Activity Tạo tài khoản nhân viên................................................82

4.5.9

Sơ đồ Activity Cập nhật bộ phần phòng ban cho nhân viên .................82

4.5.10 Sơ đồ Activity Tìm kiếm – sử dụng chung ...........................................83
4.5.11 Sơ đồ Activity Tạo mới hạt giống và mảnh đất ....................................83
4.5.12 Sơ đồ Activity Cập nhật thông tin hạt giống và mảnh đất ....................84

4.5.13 Sơ đồ Activity Thay đổi thông tin nông trại .........................................84
4.5.14 Sơ đồ Activity Tạo mới dự án cho lô hàng ...........................................85
4.5.15 Sơ đồ Activity Cập nhật thông tin dự án lô hàng..................................85
4.5.16 Sơ đồ Activity Xem danh sách các dự án – sử dùng chung ..................86
4.5.17 Sơ đồ Activity Cập nhật trạng thái dự án – sử dụng chung ..................86
4.5.18 Sơ đồ Activity Cập nhật thông tin các giai đoạn dự án – sử dụng chung
87
CHƯƠNG 5: THIẾT KẾ CƠ SỞ DỮ LIỆU ...........................................................88
5.1 Thiết kế sơ đồ lớp ................................................................................. 88
5.2 Danh sách các lớp trong sơ đồ .............................................................. 89
5.3 Mô tả chi tiết các lớp ............................................................................ 90
5.3.1

Bảng thông tin lớp người dùng .............................................................90

5.3.2

Bảng thông tin lớp nông trại .................................................................91

5.3.3

Bảng thông tin lớp hạt giống .................................................................92

5.3.4

Bảng thông tin lớp mảnh/ mẫu đất ........................................................92

5.3.5

Bảng thông tin lớp dự án nông trại .......................................................93


5.3.6

Bảng thông tin lớp dự án của doanh nghiệp .........................................94

5.3.7

Bảng thông tin lớp dự án thu hoạch ......................................................96

5.3.8

Bảng thông tin lớp dự án vận chuyển ...................................................97

5.3.9

Bảng thông tin lớp dự án nhập/ xuất kho bãi ........................................98

5.3.10 Bảng thông tin lớp dự án sản xuất ..................................................... 100


5.3.11 Bảng enum thơng tin vai trị của tài khoản ........................................ 101
5.3.12 Bảng enum thơng tin phịng ban/ cơng việc của nhân viên ............... 102
5.3.13 Bảng enum thông tin trạng thái mảnh/ mẫu đất ................................. 102
5.3.14 Bảng enum thông tin trạng thái nông trại .......................................... 103
5.3.15 Bảng enum thông tin trạng thái chung cho dự án .............................. 103
5.3.16 Bảng thông tin sản phẩm ..................................................................... 103
CHƯƠNG 6: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG ......................................106
6.1 Danh sách các màn hình chung .......................................................... 106
6.1.1


Màn hình Đăng nhập - Login ............................................................. 106

6.1.2

Màn hình Quên mật khẩu ................................................................... 106

6.2 Danh sách màn hình Tech Admin – Quản lý kỹ thuật ........................... 107
6.3 Danh sách màn hình Farmer – Nơng dân theo nơng trại ................... 110
6.4 Danh sách màn hình System Admin – Quản lý doanh nghiệp, hệ thống
116
6.5 Danh sách màn hình Harvestor – Nhân viên kiểm tra thu hoạch ...... 120
6.6 Danh sách màn hình nhân viên kiểm tra vận chuyển ......................... 122
6.7 Danh sách màn hình nhân viên kiểm tra xuất/ nhập kho ................... 123
6.8 Danh sách màn hình nhân viên kiểm tra sản xuất sản phẩm ............. 125
CHƯƠNG 7: CÀI ĐẶT VÀ KIỂM THỬ ..............................................................130
7.1 Cài đặt ................................................................................................ 130
7.2 Mục đích kiểm thử: ............................................................................ 130
7.3 Phương pháp kiểm thử:...................................................................... 130
7.4 Quy trình kiểm thử: ........................................................................... 130
7.4.1

Xác định thông tin truy xuất nguồn gốc hàng hoá: ........................ 130


7.4.2

Tạo các bộ testcase kiểm thử thủ công: .......................................... 130

7.4.3


Kiểm tra tính bảo mật của hệ thống ............................................... 131

7.4.4

Kiểm tra tính chính xác và đầy đủ của thơng tin: .......................... 131

7.5 Thực hiện kiểm thử: ........................................................................... 131
7.6 Kết quả kiểm thử: .............................................................................. 131
CHƯƠNG 8: TỔNG KẾT ......................................................................................132
8.1 Kết quả đạt được ................................................................................ 132
8.2 Thuận lợi và khó khăn ....................................................................... 133
8.2.1

Thuận lợi ............................................................................................ 133

8.2.2

Khó khăn ............................................................................................ 133

8.3 Hướng phát triển ................................................................................ 134
TÀI LIỆU THAM KHẢO ......................................................................................135


DANH MỤC HÌNH

Hình 2.1.1: Hình ảnh ReactJS .................................................................................13
Hình 2.1.3: Hình ảnh Ant Design ...........................................................................15
Hình 2.2.1: Hình ảnh Node JS ................................................................................15
Hình 2.3.1: Hình ảnh Express JS ............................................................................17
Hình 2.4.1: Hình ảnh Ethereum ..............................................................................18

Hình 2.4.2: Hình ảnh về định nghĩa Smart Contract ................................................20
Hình 2.5.1: Hình ảnh logo Firebase .........................................................................22
Hình 2.6.1: Hình ảnh logo Go-Ethereum ..................................................................23
Hình ảnh 2.7.1: Hình ảnh logo của Truffle ...............................................................24
Hình ảnh 2.8.1: Hình ảnh logo của Amazon Web Service .......................................25
Hình ảnh 2.9.1: Hình ảnh logo Android ....................................................................26
Hình ảnh 2.9.2: Hình ảnh logo Kotlin .......................................................................27
Hình ảnh 3.2.2.1: Các Nút Geth trong Mạng Ethereum Blockchain ........................30
Hình ảnh 3.2.2.2: Sơ đồ Kiến trúc của Nút trong Geth .............................................31
Hình 3.4.1: Sơ đồ kiến trúc hệ thống public blockchain ...........................................33
Hình 3.4.2: Sơ đồ kiến trúc hệ thống private blockchain..........................................35
Hình 4.1.1: Hình ảnh mơ tả luồng nghiệp vụ chính của hệ thống ...........................39
Hình 4.2.1. Hình ảnh mơ tả domain model trong hệ thống ......................................43
Hình 4.3. Hình ảnh mơ tả Usecase tổng qt ............................................................46
Hình 4.3.1 Hình ảnh Authentication Usecase ...........................................................48
Hình 4.3.2.1 Hình ảnh Usecase Quản lý tài khoản của Tech Admin ......................51


Hình 4.3.2.2 Hình ảnh Usecase Quản lý tài khoản của System Admin ...................51
Hình 4.3.3 Hình ảnh Usecase Quản lý hạt giống nơng trại ......................................56
Hình 4.3.4 Hình ảnh Usecase Quản lý các mảnh đất ...............................................58
Hình 4.3.5 Hình ảnh Usecase Quản lý các dự án của nơng trại ...............................61
Hình 4.4.5 Hình ảnh Usecase Quản lý các dự án của nơng trại ...............................63
Hình 4.4.7 Hình ảnh Usecase Quản lý các dự án thu hoạch ....................................69
Hình 4.4.8 Hình ảnh Usecase Quản lý các dự án vận chuyển .................................71
Hình 4.4.9 Hình ảnh Usecase Quản lý các dự án nhập/ xuất kho ............................73
Hình 4.4.10 Hình ảnh Usecase Quản lý các dự án sản xuất ....................................75
Hình 4.5.1 Hình ảnh sơ đồ Activity đăng nhập........................................................78
Hình 4.5.2 Hình ảnh sơ đồ Activity đăng xuất ........................................................79
Hình 4.5.3 Hình ảnh sơ đồ Activity thay đổi mật khẩu ...........................................79

Hình 4.5.4 Hình ảnh sơ đồ Activity quên mật khẩu.................................................80
Hình 4.5.5 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer .....................80
Hình 4.5.6 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer .....................81
Hình 4.5.7 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer .....................81
Hình 4.5.8 Hình ảnh sơ đồ Activity tạo tài khoản nhân viên của System Admin ...82
Hình 4.5.9 Hình ảnh sơ đồ Activity cập nhật bộ phần bịng ban cho nhân viên......82
Hình 4.5.10 Hình ảnh sơ đồ Activity Tìm kiếm – dung chung................................83
Hình 4.5.11 Hình ảnh sơ đồ Activity Tạo mới hạt giống và mảnh đất ....................83
Hình 4.5.12 Hình ảnh sơ đồ Activity Cập nhật thơng tin hạt giống và mảnh đất ....84
Hình 4.5.13 Hình ảnh sơ đồ Activity thay đổi thơng tin nơng trại ..........................84
Hình 4.5.14 Hình ảnh sơ đồ Activity tạo mới dự án cho lô hàng ............................85


Hình 4.5.15 Hình ảnh sơ đồ Activity cập nhật thơng tin dự án lơ hàng ..................85
Hình 4.5.16 Hình ảnh sơ đồ Activity xem danh sách các dự án (sử dụng chung) ...86
Hình 4.5.17 Hình ảnh sơ đồ Activity cập nhật trạng thái các dự án (sử dụng chung)
...................................................................................................................................86
Hình 4.5.19 Hình ảnh sơ đồ Activity cập nhật thông tin các bước của dự án (sử
dụng chung) ...............................................................................................................87
Hình 5.1 Hình ảnh sơ đồ lớp ....................................................................................88
Hình 6.1.1 Hình ảnh màn hình Đăng nhập ............................................................106
Hình 6.1.2 Hình ảnh màn hình Quên mật khẩu .....................................................106
Hình 6.1.2.2 Hình ảnh màn hình Email phản hồi lấy lại mật khẩu ........................107
Hình 6.2.1 Hình ảnh màn hình Quản lý danh sách tài khoản ................................107
Hình 6.2.2 Hình ảnh màn hình tạo tài khoản mới ..................................................108
Hình 6.2.3 Hình ảnh màn hình chi tiết tài khoản user ...........................................108
Hình 6.2.4 Hình ảnh màn hình danh sách các nơng trại ........................................109
Hình 6.2.5 Hình ảnh màn hình tạo mới nơng trại ..................................................109
Hình 6.2.6 Hình ảnh màn hình tạo mới nơng trại ..................................................110
Hình 6.3.1 Hình ảnh màn hình quản lý thơng tin nơng trại ...................................110

Hình 6.3.1 Hình ảnh màn hình quản lý nhân viên trong nơng trại ........................111
Hình 6.3.3 Hình ảnh màn hình quản lý các dự án nơng trại ..................................111
Hình 6.3.4 Hình ảnh chi tiết dự án nơng trại ..........................................................112
Hình 6.3.5 Hình ảnh màn hình cập nhật thơng tin chung của dự án ......................112
Hình 6.3.6 Hình ảnh màn hình cập nhật thơng tin chi tiết dự nơng trại ................113
Hình 6.3.7 Hình ảnh quản lý đất trong nơng trại ...................................................113
Hình 6.3.8 Hình ảnh màn hình tạo mới khu đất trồng ...........................................114


Hình 6.3.9 Hình ảnh màn hình chỉnh sửa thơng tin khu đất ..................................114
Hình 6.3.10 Hình ảnh màn hình quản lý hạt giống trong nơng trại .......................115
Hình 6.3.11 Hình ảnh màn hình tạo mới hạt giống ................................................115
Hình 6.3.12 Hình ảnh màn hình chỉnh sửa thơng tin hạt giống .............................116
Hình 6.4.1 Hình ảnh màn hình dashboard .............................................................116
Hình 6.4.2 Hình ảnh màn hình màn quản lý danh sách dự án ...............................117
Hình 6.4.3 Hình ảnh màn hình tạo dự án ...............................................................117
Hình 6.4.4 Hình ảnh màn hình chi tiết dự án .........................................................118
Hình 6.4.5 Hình ảnh màn hình thay đổi thơng tin cơ bản dự án ............................119
Hình 6.4.6 Hình ảnh màn hình quản lý nhân trong hệ thống .................................119
Hình 6.4.7 Hình ảnh màn hình chi tiết thơng tin nhân viên ...................................120
Hình 6.5.1 Hình ảnh màn hình danh sách các dự án của nhân viên ......................120
Hình 6.5.2 Hình ảnh màn hình chi tiết dự án kiểm tra thu hoạch ..........................121
Hình 6.5.3 Hình ảnh màn hình chi tiết cập nhật thơng tin kiểm tra thu hoạch ......121
Hình 6.6.1 Hình ảnh màn hình danh sách các dự án của nhân viên kiểm tra vận
chuyển .....................................................................................................................122
Hình 6.6.2 Hình ảnh màn hình chi tiết dự án kiểm tra vận chuyển .......................122
Hình 6.6.3 Hình ảnh màn hình chi tiết cập nhật thơng tin kiểm tra vận chuyển ...123
Hình 6.7.1 Hình ảnh màn hình danh sách các dự án của nhân viên xuất/ nhập kho
.................................................................................................................................123
Hình 6.7.2 Hình ảnh màn hình chi tiết dự án kiểm tra xuất/ nhập kho ...................124

Hình 6.7.3 Hình ảnh màn hình chi tiết cập nhật thơng tin kiểm tra xuất/ nhập kho
.................................................................................................................................124


Hình 6.8.1 Hình ảnh màn hình danh sách các dự án của nhân viên kiểm tra sản xuất
sản phẩm ..................................................................................................................125
Hình 6.8.2 Hình ảnh màn hình chi tiết dự án kiểm tra sản xuất .............................125
Hình 6.8.3 Hình ảnh màn hình chi tiết cập nhật thông tin kiểm tra sản xuất sản
phẩm ........................................................................................................................126
Hình 6.8.4 Hình ảnh màn hình tạo sản phẩm cho dự án ........................................126
Hình ảnh 6.9.1: Màn hình giới thiệu .......................................................................127
Hình ảnh 6.9.2: Màn hình quét mã sản phẩm .........................................................127
Hình ảnh 6.9.3: Màn hình đăng nhập ......................................................................128
Hình ảnh 6.9.4: Màn hình hiển thị thơng tin sản phẩm ...........................................128
Hình ảnh 6.9.5: Màn hình chính..............................................................................129


DANH MỤC BẢNG
Bảng 4.2.2. Mô tả các miền đối tượng trong hệ thống ..............................................45
Bảng 4.3. Bảng danh sách các tác nhân trong sơ đồ Usecases .................................47
Bảng 5.2 Bảng mô tả chi tiết các thực thể.................................................................90
Bảng 5.3.1 Bảng mô tả thông tin lớp người dùng ....................................................91
Bảng 5.3.2 Bảng mô tả thông tin lớp nông trại ........................................................92
Bảng 5.3.3 Bảng mô tả thông tin lớp hạt giống .......................................................92
Bảng 5.3.4 Bảng mô tả thông tin lớp mảnh/ mẫu đất ..............................................93
Bảng 5.3.5 Bảng mô tả thông tin lớp dự án nông trại ..............................................94
Bảng 5.3.6 Bảng mô tả thông tin lớp dự án doanh nghiệp.......................................96
Bảng 5.3.7 Bảng mô tả thông tin lớp dự án thu hoạch .............................................97
Bảng 5.3.8 Bảng mô tả thông tin lớp dự án vận chuyển ..........................................98
Bảng 5.3.9 Bảng mô tả thông tin lớp dự án xuất/ nhập kho ....................................99

Bảng 5.3.10 Bảng mô tả thông tin lớp dự án sản xuất ...........................................101
Bảng 5.3.11 Bảng enum thơng tin vai trị của tài khoản ........................................101
Bảng 5.3.12 Bảng enum thơng tin phịng ban/ cơng việc của nhân viên ...............102
Bảng 5.3.13 Bảng enum thông tin trạng thái mảnh đất..........................................102
Bảng 5.3.14 Bảng enum thông tin trạng thái nông trại ..........................................103
Bảng 5.3.15 Bảng enum thông tin trạng thái chung cho dự án ..............................103


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Ý nghĩa

CRUD

Tên của 4 chức năng Create, Read, Update và Delete

BM

Biểu mẫu



Quy định

MVC

Mơ hình Model-View-Controller

API


Application Programming Interface

AWS

Amazon Web Service

UI

User Interface

HTTP

HyperText Transfer Protocol

PoW

Proof-of-work

PoA

Proof-of-authority

PoS

Proof-of-Stake

P2P

Peer-to-Peer


Geth

Go-Ethereum

MVVM

Mơ hình Model-View-ViewModel

KTLN

Khố luận tốt nghiệp

API

Application Programming Interface

CSDL

Cơ sở dữ liệu


TÓM TẮT KHÓA LUẬN
Trong thời đại phát triển như ngày nay, việc theo dõi nguồn gốc sản phẩm là
một điều cần thiết và phù hợp. Quá trình lưu vết và theo dõi thông tin sản phẩm
được triển khải từ giai đoạn thực hiện thô đến khi sản phẩm được bán ra thị trường.
Mục đích của việc trên là đáp ứng độ tin cậy an toàn và chất lượng của sản phẩm và
đảm bảo sự minh bạch trong quá trình sản xuất và phân phối sản phẩm. Cần biết
rằng, trong ngành nuôi trồng việc truy xuất và minh bạch nguồn gốc hàng hố càng
được vì đây là vấn đề liên quan trực tiếp đến sức khỏe con người. Ngoài ra, việc

truy xuất thơng tin hàng hố cũng giúp cho doanh nghiệp có thể tìm kiếm nguồn
gốc các sản phẩm và giai đoạn của mình, từ đó đảm bảo tính minh bạch và xã hội
của các sản phẩm. Hơn nữa, sự minh bạc trong quy trình kiểm tra các cơng đoạn sẽ
giúp giảm thiểu rủi ro và hỗ trợ quản lý rủi ro của doanh nghiệp.
Bên cạnh đó, cùng với sự phát triển mạnh mẽ của công nghệ, việc ứng dụng
công nghệ vào sẽ giúp thúc đẩy sự phát triển của những ngành công nghiệp nuôi
trồng dần phổ biến. Cộng với việc phát triển của các ứng dụng Web và Mobile ngày
càng dễ dàng, nhóm nhận thấy việc triển khai, xây dựng hệ thống với các tính chất
và đáp ứng tính năng từ các nhu cầu trên sẽ có tính sử dụng cao và khả thi khi áp
dụng vào thực tế.
Mặc khác,dự trên tính tốn về thời gian và thực lực đầu tư vào KLTN, nhóm
chúng em tập trung hướng đến là một hệ thống đa nền tảng chạy trên cả Web và
thiết bị di động (Android). Hệ thống bao gồm các tiện ích:
- Quản lý nhân viên nội bộ
- Quản lý tài khoản nông dân, nông trại
- Quản lý thông tin lô hàng – dự án
- Quản lý thông tin các giai đoạn trong q trình sản xuất
- Cung cấp thơng tin về q trình sản xuất, thơng tin chỉ tiết của sản phẩm

1


- Lưu vết và truy xuất thông tin sản phẩm, thơng tin lơ hàng, thơng tin của từng
quy trình sản xuất
Sau quá trình miệt mài tìm hiểu, thực hiện cài đặt và thiết kế hệ thống, nội dung
được trình bày trong bài báo cáo là những thành quả mà nhóm đã đạt được trong
thời gian qua.

2



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

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG TRUY XUẤT NGUỒN GỐC HÀNG
HĨA TÍCH HỢP ETHEREUM BLOCKCHAIN VÀ SMART CONTRACT
Cán bộ hướng dẫn: TS. Nguyễn Trịnh Đông
Thời gian thực hiện: Từ ngày 01/01/2023 đến ngày 01/06/2023
Sinh viên thực hiện:
Nguyễn Thành Hiếu – 19521505
Trần Quốc Khánh – 19521686
Nội dung đề tài:
1. Lý do chọn đề tài:
Nguồn gốc hàng hóa minh bạch (Nơng sản) đang được xem là một yếu tố cốt
lõi trong việc bảo vệ và đảm bảo thương hiệu, lợi ích kinh doanh cho các doanh
nghiệp, tổ chức vận hành hàng hoá. Đồng thời việc xác định rõ thông tin và
nguồn gốc của nông sản cũng mang lại cho người tiêu dùng sự tin tưởng, tín
nhiệm, an tâm khi sử dụng sản phẩm. Tuy nhiên việc truy xuất còn nhiều rủi
ro, chưa đáp ứng được tính rõ ràng, chính xác trong những giải pháp giấy tờ
thủ cơng. Vì lí do đó việc ứng dụng công nghệ thông tin vào vấn đề truy xuất
sẽ mang lại nhiều thuận lợi cho doanh nghiệp và góp phần củng cố niềm tin từ

phía người tiêu dung. Triển khai Blockchain vào việc truy xuất, quản lý thông
tin nguồn gốc hàng hố sẽ đảm bảo tính minh bạch, sự bảo mật và hiện đại.

3


Nhất là trong thời kỳ phát triển vượt bậc về công nghệ như hiện nay, ứng dụng
công nghệ và vấn đề trên sẽ đơn giản hoá việc truy xuất nguồn gốc ,đưa sản
phẩm đến gần với người tiêu dùng hơn.
2. Mục tiêu đề tài:
Nghiên cứu và tìm hiểu về cơng nghệ blockchain và những mơ hình ứng
dụng blockchain trong quản lý hàng hố, lưu trữ thơng tin và truy xuất
nguồn gốc hàng hố. Tìm hiểu và ứng dụng những phương pháp để khắc
phục những lỗ hổng, rủi ro hiện có đối với việc truy vết theo phương pháp
thủ công truyền thống. Qua đó, xây dựng một hệ thống kiểm tra và tra cứu
thông tin nguồn gốc nông sản đảm bảo ba yếu tố chính: minh bạch, bảo mật
và dễ sử dụng. Hệ thống sẽ bao gồm các nhân tố chính sau:
o Quản trị viên hệ thống: chịu trách nhiệm trực tiếp cho việc quản lý
CSDL người dùng (User), cấp quyền sử dụng hệ thống cho doanh
nghiệp.
o Quản trị viên doanh nghiệp: chịu trách nhiệm tạo tài khoản cho
nhân viên trong các phòng ban, cấp quyền quản trị dữ liệu các
phòng ban.
o Nhân viên các phòng ban: chỉnh sửa, cập nhật thơng tin phịng ban
o Chủ nơng trại: cập nhật thơng tin về nông trại, cấp quyền truy cập
và chỉnh sửa, cập nhật thông tin cho nhân viên nông trại.
o Người dùng: Truy cập ứng dụng truy xuất nguồn gốc hàng hoá.
o Hệ thống CSDL phân tán: lưu trữ và minh bạch thông tin lô hàng
bằng blockchain và mạng ethereum.
3. Phạm vi đề tài:

Ứng dụng công nghệ blockchain để xây dựng hệ thống truy xuất nguồn gốc
nông sản của cơ sở quản lý doanh nghiệp, nông trại.
Chi tiết phạm vi áp dụng cho đề tài:
Đề tài hướng vào truy xuất hàng hóa nơng trại => Hạt cà phê, giúp theo dõi
quy trình hạt cà phê từ khi gieo trồng đến lúc thành phẩm tung ra thị trường.

4


Quy trình truy xuất sẽ bao gồm các bước chính như sau:
• Nơng trại: gieo trồng cây giống, chăm sóc, thu hoạch và thống kê
thành phẩm
• Doanh nghiệp: Kiểm tra thông tin từ nông trại -> vận chuyển -> lưu
trữ kho bãi -> Sản lượng thành phẩm sau khi chế biến.
Phạm vi chức năng:
Quản trị viên hệ thống:
• Tạo, chỉnh sửa, xóa thơng tin tài khoản User
• Tạo, xóa nơng trại trong hệ thống
Quản trị viên doanh nghiệp:
• Tạo, chỉnh sửa, xóa tài khoản nhân viên trong hệ thống
• Cấp phát quyền (phịng ban) cho nhân viên
• Tạo mới lơ hàng
• Chọn nơng trại cung ứng
• Phân bố nhân viên thực hiện các giai đoạn trong lơ hàng
• Tìm kiếm lơ hàng
• Kiểm tra trạng thái lơ hàng
• Truy xuất thơng tin của lơ hàng khi hồn thành
Chủ nơng trại
• Câp nhật thông tin, trạng thái hoạt động của nông trại
• Thêm, xóa, sửa thơng tin các hạt giống

• Thêm, xóa, sửa các mảnh (mẫu) đất có trong nơng trại
• Tạo các dự án trồng trọt của nơng trại
• Cập nhật tiến trình, trạng thái và thơng tin của dự án
Nhân viên phịng ban
• Kiểm tra danh sách các dự án được phân cơng
• Thực hiện kiểm tra, nhập liệu thông tin cho dự án

5


• Cập nhật trạng thái cho dự án
4. Đối tượng nghiên cứu và mục đích sử dụng:
Các mơ hình truy xuất nguồn gốc hàng hố, cơng nghệ blockchain, khả năng
áp dụng vào việc truy xuất nguồn gốc, tính minh bạch, bảo mật và mở rộng
của cơng nghệ blockchain.
Mục đích của tích hợp Ethereum Blockchain và Smart Contract:
• Tăng tính minh bạch và đáng tin cậy cho chuỗi cung ứng hàng hóa
của các doanh nghiệp (sản xuất cà phê)
• Dữ liệu thơng tin được phục hồi (backup) và có tính phi tập trung.
• Giảm thiếu áp lực cho việc chứng minh nguồn gốc, độ tin cậy của
hàng hóa nơng sản.
• Giải quyết vấn đề chịu trách nhiệm của các bên liên quan khi có vấn
đề xảy ra với lơ hàng
5. Nền tảng cơng nghệ:
• Backend: NodeJs
• Database: MongoDB
• Blockchain: Smart Contract, Ethereum
• Frontend: ReactJS
• Cơng cụ quản lý và hỗ trợ: Github, Figma, Notion, Draw.io,
MetaMask

6. Yêu cầu kết quả:
• Yêu cầu chức năng: Đảm bảo đẩy đủ các tính năng đã được đặt ra
• Yêu cầu giao diện: phù hơp, dễ tương tác và sử dụng
• Yêu cầu nâng cấp: dễ dàng mở rộng, nâng cấp và bảo trì hệ thống

6


Kế hoạch thực hiện:
Thời gian thực hiện: 06/02/2023 – 25/06/2023
STT

Thời gian

Nội dung cơng việc

6/2 – 12/2/2023
1

2

(1) Tìm hiểu các cơng nghệ liên quan

(1 tuần)

cho đề tài

13/2 – 26/2/2023

(2) Phân tích yêu cầu hệ thống


(2 tuần)

(3) Xây dựng, thiết kế CSDL
(4) Vẽ sơ đồ Usecase, sơ đồ Activity,
sơ đồ Sequence cho các chức năng

27/2 – 5/3/2023
3

trong hệ thống

(1 tuần)

(5) Khởi tạo source code Front-end và
Back-end và các bên có liên quan.
(6) Xây dựng API cho Authentication
(7) Xây dựng UI và xử lý cho chức
năng Authen

4

6/3 – 19/3/2023

(8) Thiết kế và triển khai các API cho

(2 tuần)

các tính năng của role Quản trị
viên hệ thống

(9) Thiết kế và triển khai Front-end
cho Quản trị viên hệ thống
(10)

5

Triển khai các API cho các

role, chức năng cịn lại trong hệ

20/3 – 9/4/2023

thống

(4 tuần)

(11)

Hồn thành Front-end cho

các user còn lại
10/4 – 23/4/2023
6

(12)

(1 tuần)

7


Xây dựng Smart Contract


×