1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ thông tin: Xây dựng website chuỗi cung ứng sầu riêng và áp dụng Blockchain để truy xuất nguồn gốc sản phẩm

126 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng website chuỗi cung ứng sầu riêng và áp dụng Blockchain để truy xuất nguồn gốc sản phẩm
Tác giả Huỳnh Quang Bảo
Người hướng dẫn TS. Nguyễn Gia Tuấn Anh
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 126
Dung lượng 34,68 MB

Nội dung

Hệ thống này sử dụng hợp đồng thông minh Ethereum dé ghi lại quyền sở hữu sản phẩm, giúp truy xuất và xác minh nguồn gốc sản phẩm từ nhà sản xuât đên người tiêu dùng... Chi phí giao dịch

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN

HUỲNH QUANG BẢO - 20521100

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

XÂY DUNG WEBSITE CHUOI CUNG UNG SAU

XUAT NGUON GOC SAN PHAM

Building a website of durian supply chain and applying

blockchain to trace product origin

CU NHANNGANH CONG NGHE THONG TIN

GIANG VIEN HUONG DAN

TS NGUYEN GIA TUAN ANH

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Nhóm em chân thành gửi lời cảm ơn đến thầy Nguyễn Gia Tuấn Anh đã dành thời

gian giúp nhóm thực hiện đề tài này

Bên cạnh đó, nhóm em cũng gửi lời cảm ơn chân thành đến thầy/cô của trường Đạihọc Công nghệ Thông tin đã truyền đạt những kiến thức bô ích đã giúp ích rất nhiềucho nhóm em khi thực hiện khóa luận tốt nghiệp

Trong quá trình thực hiện, nhóm có thé còn một số nhược điềm hạn chế khi tìm

hiểu, thực hiện Rất mong nhận được sự nhận xét, góp ý từ các thầy cô giảng viên

trong trường dé đề tài của nhóm được hoàn thiện hơn

Nhóm em xin chân thành cảm ơn!

Nhóm sinh viên thực hiện

Huỳnh Quang Bảo

Trang 3

1.44 Đối tượng, phạm vi nghiên cứu -. - 2: 2++2+++£++£xt£E+EEerxezrxerrerrree 4

1.4.1 Đối tượng nghiên cỨu -c- 22t ©t+Ek+EE+EEeEEEEEEEEerkerkerkerkerkerree 4

1.4.2 Pham vi nghiÊn CỨU - - G2 + 31311891111 91 1 9 1v ng nưkp 4

1.5 Thách thức của đề tài -©5-©cs 2E EEEEEEEEEEEEEEkErkrrkerkrrrkee 51.6 Hướng giải QUyẾT -7:22cSt CC E12 1217111111111 crxee 5

chương2 CƠ SỞ LÝ THUYẾT -¿©-+¿©++2++2E++EE++EEEtrxeerxeerseee 6

2.1 Giới thiệu về framework FastAPl -¿- + ++£x+£xt£EeExzEerrxerxerrsee 62.2 Giới thiệu về Block chainn ccscccsscssssssesssessessessessesssessessusssessesssssecsusssecseesees 7

2.3 Giới thiệu về hệ quản tri dữ liệu PostgreSQL 5-5-5 ++<<<++<cx+ss 8

2.5 Giới thiệu về Pusher -2-22-© £+S2‡EEEEEE2EEE2E221711211271 21122121 re 102.4 Giới thiệu về Nexts -2¿- 52c S222 2t 2 221 2122127121111 11.11 1c 112.6 GiGi thiệu về Cloudinary cceccecccccesessessessessessessessessessessessessessessessesseeseesess 12

2.7 Giới thiệu về Hardhat c.ccccceccsssecsssessssesescsesesessesessessessesesevsesesevsesenseeees 13

Trang 4

2.8 Giới thiệu về SmartCORFACẨ - 2 t5 EE‡ESEEEEEEEEEEEEEEEkerkerrrkerkrree 132.9 Giới thiệu về Arbitrum -cccccccccktirtEktrrrttrtrrrtrtrrrrtriirerrieg 15

Chương 3 | PHAN TÍCH, THIET KE HE THONG - c2 5+2 20

3.1 Xác định yêu CaU we eeceeccescssessessessessessecsecsessecsessessessessessessessessessessessessesseeseess 20

3.2 Qui trinh nghi€p 0 20

3.3 Phân tích yêu Cau cc.ccescsscsssesssessesssessessesssessesssessessssssessesssessesssessessessseeseessees 21

3.3.1 Chức năng đăng ký - Ăn ng ng rệt 21 3.3.2 Chire năng đăng nhập 0 eee eccceseeeseceseceseeceneceseceseeeeaeesaeeeeneseeensees 22

3.3.3 Chức năng quên mật Khau oo cecceccssesseeseeseeseesesseesesseeseeseesesseeseeseeseeseess 223.3.4 Chức năng thay đổi mật khẫu - 2 + ¿+ 2+E£+E£+Eerkerkerxerxered 22

3.3.5 Chức năng khóa tài khoản người dùng . «+5 «++s + +sexs+ 22

3.3.6 Chức năng nạp, rút tiền tài khoản của người dùng - 223.3.7 Chức năng xác thực và ủy quyền người dùng bang token (JWT) 22

3.3.8 Chức năng thống kê người đùng cho Admin 2 2 2+2 233.3.9 Chức năng thong kê cho người dùng - 2 s¿©5z+szxzxs=xd 23

3.3.10 Chức năng khảo sát người dùng - 5+ c + *+sskxseeeerrsrerrs 23

3.3.11 Chức năng xác nhận khảo sát người dùng đối với Admin 23

3.3.12 Chức năng cập nhật thông tin cá nhân - 5 5-5255 ++£+sxssxsexs+ 23

3.3.13 Chức năng tạo sản phẩm ¿22 ¿+ +E2E£EEEEEEEEEEEEEEEErrkrrrerkrred 23

3 3.14 Chức năng chỉnh sửa trạng thái của sản phẩm .: - 24

3 3.15 Chức năng xác nhận đơn hàng đối với chủ sở hữu sản phẩm 24

3.3.16 Chức năng cập nhật sản phẩm 2-5 2+ + ££Ee£EeEEerEerrerkered 243.3.17 Chức năng xóa sản phẩm - + ¿+ £+E+E£EE£EEtEEEEEEEEEEErrkrrrerrrred 25

3.3.18 Chức năng cập nhật quá trình phát triển của sản phẩm 25

3.3.19 Chức năng phân loại sản phẩm ¿5£ ¿+ £+E+E£+E££EezEerxerxered 25

3.3.20 Chức năng đăng lên marketpÌaCe - 5 5c +5 + +skEseseeresrsers 25

Trang 5

3.3.21 Chức năng thêm hình ảnh, v1deO - -¿- «65+ + +sssrsreeereerre 25

3.3.22 Chức năng tìm kiếm, lọc theo giá, lọc theo ngày, tuần, 25

3.3.23 Chức năng xem tong số lượt người dùng ghé thăm sản phẩm 26

3.3.24 Chức năng thống kê về sản phẩm ¿22 2+ +E£+E+Ee£Eerxerxered 263.3.25 Chức năng xem nguOn gốc sản phẩm ¿- 2© £+xe£E+zxezxered 263.3.26 Chức năng mua sản phẩm + 2© £+E£+E££Et£E££E£EeEEerkerkerrerkd 26

3.3.27 Chức năng tạo gid hàng, cv ng ng rếc 26 3.3.28 Chức năng cập nhật g1ỏ hàng 5 - c + 9 re 26 3.3.29 Chức năng xóa g1ỏ hảng - -G- <1 ng nh kh 27

3.3.30 Chức năng xem lịch sử giao dich của người dùng - 27

3.3.31 Chức năng nhắn tin ¿52 £+E+E‡EEEEEEEEEEEEEEEEEEEEEEEEEEerkerkerkrrki 27

3.3.32 Chức năng Bình luận - - ¿2G SĂ 13311 set 27

3.3.33 Chức năng tạo thông báO - +2 3x3 *SEEsirsrrrrrrrrerrererkre 27

3.3.34 Chức năng cập nhật trạng thái thông báo - 5+5 c+<x+scssr+ 27 3.3.35 Chức năng xóa thông báoO - - c1 S113 net 27

3.3.36 Chức năng hoạt động gan đây của người dùng -. - 273.3.37 Chức năng hoạt động gần đây của sản phẩm -¿5¿ 52 27

3.4 Mô hình hóa yêu cầu ¿- 2 5£+2£+SE+EE++EE£EEEEEEEEEEEEEEECrEkrrkrrkrrrrere 27

3.4.1 Chức năng đăng ký - -.L SH ng ng ry 28

3.4.2 Chức năng quên mật khâu - ¿5£ +E+E+£E£+kezEerxerkerkerrrred 303.4.3 Chức năng đổi mật khẩu -¿ 2¿¿++¿+x+2Ex2Exerxrsrxrrrrerree 32

3.4.4 Chức năng khóa tai khoản người dùng - - 5 55+ ++x£+cxseessers 33

3.4.5 Chức năng nạp, rút tiền của người dùng - ¿5c ccccccxczxered 36

3.4.6 Chức năng khảo sát người dùng - che, 37

3.4.7 Chức năng xác nhận khảo sát người dùng đối với Admin 39

3.4.8 Chức năng cập nhật thông tin cá nhân s5 55s ++< + +sexs+ 41

3.4.9 Chức năng tạo sản phẩm ¿+ 2 E+2E£+EE£EE22EEEEEEEEEEEkrrkerrrrred 42

3.4.10 Chức năng cập nhật trạng thái sản phẩm ¿©2552 453.4.12 Chức năng xóa sản phẩm ¿- ©- £+ + +EEEEEEEEEEEEEEEEEEEErkrrkerkrred 48

Trang 6

3.4.13 Chức năng cập nhật quá trình phát triển của cây - 503.4.14 Chức năng phân loại sản phẩm 2 2 2+ £+E+E£+E££Ee£EerEerxered 52

3.4.15 Chức năng xác nhận đơn hàng đối với chủ sở hữu - 53

3.4.16 Chức năng đăng san phẩm lên marketplcae - ¿ 2sz+szs255

3.4.17 Chức năng tạo gid hang - c1 v1 ng ng ng rg 56

3.4.18 Chức năng cập nhật gid hàng - 5 c3 c SE Eseirsrreerrsrsexee 58

3.4.19 Chức nang xóa g1ỏ hang ng HH rết 59

3.4.20 Chức năng mua sản phẩm 2- 22 522S¿2++2£++2Ex2Ex+zzxzzxerred 61

3.4.21 Chức năng tạo bình luận - 5 +5 3c 13213 Sisesersrreserre 63 3.4.22 Chức năng cập nhật bình luận -.- 5 55c S5 + £+kEsessereerssee 65 3.4.23 Chức năng xóa bình luận - - + 332313 EEirseeereerreerre 67 3.4.24 Chức năng tao thong Đảo - -. cv vn vn ng, 68 3.4.25 Chức năng cập nhật trạng thái thông báo -+++c++<xs+sxs<xs+ 70 3.4.26 Chức năng xóa thông báo - - xxx ng nghe 72

3.4.27 Chức năng nhắn tin + c+S£+ES2EEEEEEEEEEEEEEEEEEEEEEkrkerkerkrred 73

3.5 Thiết kế cơ sở dữ liệu -c¿-c2vvctEktrttrtrtrrttrrirrrtrrrrrrriirrrrikeg 75

3.5.1 Mô hình dữ liệu quan hỆ - ¿+ +5 * + + EEEsskkerreeerrerseee 75 3.5.2 Danh mục các bảng - óc ch ng 75

3.5.2.1 Bảng S€T Go nHnHH nH nHnệp 76

3.5.2.2 Bảng PrOdUC( SG TS HH ng TH ng cư78

3.5.2.3 Bang ClassIfyGOOS - HH HH HH nghệ 79 3.5.2.4 Bảng ProducfFarme - -ó- s9 nnnHh nngnưy79 3.5.2.5 Bảng ProductfManufaCfUT€T - G5 SĂ vs ieeereeeeeree 80 3.5.2.6 Bảng GTOWD SG HH HH Hệ 80 3.5.2.7 Bảng Marketplace - - c 311v vn rệt 81

3.5.2.8 Bảng TransactionSf (giao dịch giữa công ty giống và nông dân) 81

3.5.2.9 Bảng TransactionFm (giao dịch giữa nông dân va nhà máy) 82 3.5.2.10 Bảng FInancIalTTanSaCfIOT - 5c cv ng cư 83

3.5.2.11 Bang 91 84

Trang 7

3.5.2.12 Bảng Coimmnet - 5 6 5< +2 941 11 1 E11 1E ng ngư 85

3.5.2.13 Bảng ReplyComment cceceesccsseeseeceneeeseeeeseeeseeeseeseseeeeeeseeenss 85

Sh W6: j0 86 3.5.2.15 Bảng ACLIVIẨY SG TQ HH HH HH TH TH TH nếp 86 3.5.2.16 Bảng MesS€nBGT G11 TH TH ng ng nếp 87

Chuong 4 XÂY DUNG HE THONG CHUOI CUNG UNG SAU RIENG &

THIET KE GIAO DIEN uieeeceeccsssssssessessessessessessessessessessessessessessessessessessessesseesesseeseess 88

4.1 Kiến trúc hệ thong c.cecccccecccccssessessessessessessessessessessessessessessessessessesseeseeseeseess 884.2 Xử lý xác thực bằng email -¿- + + ©2++2x+EE2EEEEEtEEESEEerkrerkrrkrrrrrree 894.3 Xử lý van đề về xác thực người dùng -5¿©cc+cxcxcereerxrrreered 894.4 Xử lý van đề về mã xác thyre ceceeccccccsscsssessesssessesssesseesvessecsecsseesecsesssesseesseess 894.5 Xử lý về tin nhắn, thông báo thời gian thực 2z sz+sz+szzesce2 894.6 Xử lý về tài nguyên về ảnh oo ccseceecsessessessecsessessesseesessessessecsessesseeseeseess 90

4.7 Thiết kế giao điện - 2c ©5¿+SE E2 19 EE211221211211711211211711 1111 re.90

4.7.1 Form dang ký -.- cv TH HH nghiệt 90 4.7.2 Form xác thực tài khoản 5 52c 3 *+2 + EEESseesssserreseves 91 4.7.3 Form dang nha ee eeeeceeeeceseeseeeseeseceeeesececeesececeeseceeesseeeseeseeneeas 9]

4.7.4 Màn hình thay đôi mật khẩu - 2-22 2 5¿+£++£x++zxerxezzzrred 924.7.5 _ Màn hình nạp tiền - + 2 2+ £+E£2E£EEEEEEEEEEEEE2E21 212121 ckrki92

4.7.6 Màn hình thông tin chung của người dùng - 5 +++s<+<+2 93

4.7.7 Màn hình thống kê cho Admin 22- 2£ 5£ ©5£+££E£2£++£xzzzzred 93

4.7.8 Màn hình quan lý người dùng của Admin - - «++s<<s+2 94

4.7.9 Màn hình thống kê đối với người dùng - ¿52 ©52+s+se>x2 94

4.7.10 Màn hình quản lý sản phẩm - ¿5£ £+S£+E£+E£+E££EtzEtzxerxered 95

4.7.11 Màn hình quản lý giao dỊCHh - 5c 3< 3+ Esvseeeseeereseeerree 96

Trang 8

4.7.12 4.7.13

4.7.14

4.7.15

4.7.16

4.7.17 4.7.18 4.7.19 4.7.20

4.7.21

Man hình xác nhận đơn hàng đối với chủ sở hữu 96Form cập nhật sản pham cccccsccessesssessessesssessesssessecsssssessesssessesseeess 97Form cập nhật quá trình phát triển của cây . -. 97

Màn hình MarkefplaCG -ó- s5 HH ng ng re, 98

Man hình top san phẩm bán chạy nhất trong 1 tuần vừa qua 98Man hình chi tiết sản phẩm ¿5° 2 2 ££Ec2Ee£EczEezEzxerxee 99Màn hình quá trình phát triển của cây - ¿¿5¿55¿ 100Man hình liệt kê danh sách nhẫn tin - -ccccccccccccce¿ 100Màn hình nhắn tỉn -222+£ 22tr 101

Màn hình thông ba0 ee eeeeseeseeesecseceseeeceseeseceeeeseceaeeaeceeeeaeeeeeas 102 4.8 Test case GUI

Chuong5 | KETLUAN VA HƯỚNG PHAT TRIỀN - 2: 106

5.1 Kết quả dat đượcC ¿5c c2 2k2 2122121121121 2111 21111111 ckrkee 106

52 Hạnchế “TT AC | C 1065.3 Hướng phát triỂn -+c¿2S225c Set EEEE1211111211 1111111111111 11 c1 xe 106TÀI LIEU THAM KHẢO 2 St S23 SE9E5EE2E9EEEE2EEE12E5EEE121E1 2111x212 cxe2 107

Trang 9

DANH SÁCH CAC BANG

Bảng 3.1 Mô tả UC đăng ký

Bảng 3.2 Dòng chính UC đăng ký

Bảng 3.3 Mô tả UC quên mật khẩu

Bảng 3.4 Dòng chính UC quên mật khẩu

Bảng 3.5 Mô ta UC thay đổi mật khẩu

Bang 3.6 Dòng chính UC thay đổi mật khâu

Bảng 3.7 Mô tả UC khóa tài khoản người dùng

Bảng 3.8 Dòng chính UC khóa tài khoản người dùng

Bảng 3.9 Mô tả UC nạp, rút tiền của người dùng

Bảng 3.10 Dòng chính UC nạp, rút tiền của người dùng

Bảng 3.11 Mô ta UC khảo sát người dùng

Bảng 3.12 Dòng chính UC khảo sát người dùng

Bảng 3.13 Mô tả UC xác nhận khảo sát người dùng đối với Admin

Bảng 3.14 Dòng chính ÚC xác nhận khảo sát người dùng với Admin

Bang 3.15 Mô tả UC cập nhật thông tin cá nhân

Bảng 3.16 Dòng chính ÚC cập nhật thông tin cá nhân

Bảng 3.17 Mô ta UC tạo sản pham

Bảng 3.18 Dòng chính UC tao sản pham

Bang 3.19 Mô ta UC cập nhật trạng thái sản phẩm

Bảng 3.20 Dòng chính UC cập nhật trạng thái san pham

Bang 3.21 Mô ta UC cập nhật sản phẩm

Bảng 3.22 Dòng chính UC cập nhật sản phẩm

Bảng 3.23 Mô ta UC xóa sản phẩm

14 14

15

16 17

18

19 19 20 21 22 23 24 24

26 26

29

30 31 31 32 32 33

Trang 10

Bang 3.24 Dòng chính UC xóa sản phẩm

Bảng 3.25 Mô tả UC cập nhật quá trình phát triển của cây

Bảng 3.26 Dòng chính UC cập nhật quá trình phát triển của cây

Bảng 3.27 Mô tả UC phân loại sản phẩm

Bảng 3.28 Dòng chính UC phân loại sản phẩm

Bảng 3.29 Mô tả UC xác nhận đơn hàng

Bảng 3.30 Dòng chính UC xác nhận đơn hàng

Bảng 3.31 Mô tả UC đăng sản phẩm lên markerplace

Bảng 3.32 Dòng chính UC đăng sản phẩm lên markerplace

Bảng 3.33 Mô tả ÚC tạo giỏ hàng

40 4 41

42

42 43 43 45

46 41 47

48

49

50 50 51

Trang 11

Bảng 3.48 Dòng chính ÚC tạo thông báo

Bảng 3.49 Mô tả ÚC cập nhật trạng thái thông báo

Bảng 3.50 Dòng chính UC cập nhật trạng thái thông báo

Bang 3.51 Mô ta UC xóa thông báo

Bảng 3.52 Dòng chính UC xóa thông báo

Bang 3.69 Mô tả bảng Notification

Bang 3.70 Mô tả bang Activity

51

52

53 53

54

55 55 57 58 59 59 59 59 60 60 61 61 62 62 63 63 63

64

Trang 12

Bảng 3.71 Mô tả bảng Messenger 64

Trang 13

DANH SÁCH HÌNH ANH

Hình 3.1 Sơ đồ phân cấp chức năng

Hình 3.2 Biéu đồ UC đăng kí

Hình 3.3 SĐTT đăng ký

Hình 3.4 Biéu đồ UC quên mật khẩu

Hình 3.5 SĐTTT chỉnh sửa thông tin trọ

Hình 3.6 Biểu đồ UC thay đổi mật khâu

Hình 3.7 SĐTT thay đổi mật khẩu

Hình 3.8 Biéu đồ UC khóa tài khoản người dùng

Hình 3.9 SĐTTT khóa tài khoản người dùng

Hình 3.10 Biểu đồ UC nạp, rút tiền của người dùng

Hình 3.11 SĐTT nap, rút tiền của người dùng

Hình 3.12 Biểu đồ UC khảo sát người ding

Hình 3.13 Sơ đồ khảo sát người đùng

Hình 3.14 Sơ đồ UC xác nhận khảo sát người dùng đối với Admin

Hình 3.15 SĐTT xác nhận khảo sát người dùng đối với Admin

Hình 3.16 Biéu đồ UC cập nhật thông tin cá nhân

Hình 3.17 SDTT cập nhật thông tin cá nhân

Hình 3.18 Biểu đồ UC tạo sản phẩm đối với Seedling company

Hình 3.19 Biéu đồ UC tao sản phâm đối với Farmer

Hình 3.20 Biểu đồ UC tạo sản phẩm đối với Manufacturer

Hình 3.21 SDTT tạo sản pham

Hình 3.22 Biểu đồ UC cập nhật trạng thái sản pham

Hình 3.23 SĐTT cập nhật trạng thái sản phẩm

13 14

15 16

16 18

19 20

20 21 22

23 24

25 26

28 28 29 29

30 30 31

Trang 14

Hình 3.24 Biểu đồ Use cập nhật sản pham

Hình 3.25 SĐÐTT cập nhật sản phẩm

Hình 3.26 Biểu đồ UC xóa sản pham

Hình 3.27 SĐTT xóa sản pham

Hình 3.28 Biểu đồ UC cập nhật quá trình phát triển của cây

Hình 3.29 SĐTT cập nhật quá trình phát triển của cây

Hình 3.30 Sơ đồ UC phân loại sản phẩm

Hình 3.31 SĐTT phân loại sản pham

Hình 3.32 Sơ đồ UC xác nhận đơn hàng

Hình 3.33 SĐ TT xác nhận đơn hang

Hình 3.34 Sơ đồ UC đăng sản phẩm lên markerplace

Hình 3.35 SĐTT đăng sản phâm lên markerplace

Hình 3.36 So đồ UC tao giỏ hàng

Hình 3.37 SĐTTT tạo gio hang

Hình 3.38 Sơ đồ UC cập nhật giỏ hang

Hình 3.39 SĐÐTTT cập nhật giỏ hang

Hình 3.40 Sơ đồ UC xóa giỏ hàng

Hình 3.41 SPTT xóa giỏ hang

Hình 3.42 Biểu đồ UC mua sản phẩm đối với Farmer

Hình 3.43 Biểu đồ UC mua sản phẩm đối với Manufacturer

40

32

40 41 4 42

43 44 45

45 46 47

48 48

Trang 15

Hình 3.48 SPTT cập nhật bình luận

Hình 3.49 Sơ đồ UC xóa bình luận

Hình 3.50 SĐTTT xóa bình luận

Hình 3.51 Sơ đồ UC tạo thông báo

Hình 3.52 SĐTTT tạo thông báo

Hình 3.53 Sơ đồ UC cập nhật trạng thái thông báo

Hình 3.54 SĐTTT cập nhật trạng thái thông báo

Hình 3.55 Sơ đồ UC xóa thông báo

Hình 3.56 SPTT xóa thông báo

Hình 3.57 Sơ đồ UC nhắn tin

Hình 3.58 SÐTT nhắn tin

Hình 3.59 Mô hình thực thê liên kết

Hình 4.1 Kiến trúc hệ thống

Hình 4.2 Form chức năng đăng ký

Hình 4.3 Form chức năng xác thực người dùng

Hình 4.4 Form đăng nhập

Hình 4.5 Màn hình thay đổi mật khẩu

Hình 4.6 Màn hình nạp tiền

Hình 4.7 Màn hình thông tin chung của người dùng

Hình 4.8 Màn hình thống kê cho Admin

Hình 4.9 Màn hình quản lý người dùng của Admin

Hình 4.10 Màn hình thống kê đối với người dùng

52

52 53 53 54 54 55 56 65 68 68 69 69

70 70 71 71

72

72 73

Trang 16

Hình 4.13 Màn hình xác nhận đơn hàng đối với chủ sở hữu

Hình 4.14 Form cập nhật san phâm

Hình 4.15 Form cập nhật quá trình phát triển của cây

Hình 4.22 Màn hình quá trình phát triển của cây

Hình 4.23 Màn hình liệt kê danh sách nhắn tin

Hình 4.24 Màn hình nhắn tin

Hình 4.25 Màn hình thông báo

73

74 74 75 75 76

76

T1 T1 78 78

79 79

Trang 17

DANH SÁCH CÁC KY HIỆU, CHỮ VIET TAT

Kýhiệu Tiếng Anh Tiếng Việt

CMS (Content Management System Hệ thông quản lý nội dungSSR Server-Side Rendering Kết xuất phía máy chủ

PoW Proof of Work Chứng minh công việc

PoS Proof of Stake Chứng minh sở hữu

JWT Json Web Token

[API Application programming interface Giao diện lập trình ứng

dụng

IPK Primary key Khóa chính

FK Foreign key Khóa phụ

IHTTPS Hypertext Transfer Protocol Secure wa thức truyền tải siêu

lvăn

ban an toàn

ƯO Input/Output Đầu vao/ đầu ra

ORM Objects Relational Mapping

SEO Search Engine Optimization Tối ưu hóa công cu tìm

kiếmACID IAtomicity, Consistency, Isolation, Tinh nguyên tử, tính nhất

Durability quán, sự cô lập, độ bền

SDTT Sơ đồ tuần tự

IUse Case

UC

Trang 18

TÓM TAT KHÓA LUẬN

Hiện nay, ý thức của người tiêu dùng về vấn đề an toàn thực phẩm ngày càng cao.Theo đó, họ có nhu cầu biết nguồn sốc cho thực phẩm họ muốn tiêu thụ.Sầu riêngdang là một trong sản phẩm được tiêu thụ nhiều trong những năm gần đây [1] Vì

vậy, việc các nhà sản xuất đưa ra thông tin chi tiết về các mắt xích trong chu trình

cung ứng và xác thực cho các thông tin ấy là điều tất yếu

Trong Khóa luận này nghiên cứu áp dụng blockchain dé phát triển hệ thống quản lýchuỗi cung ứng sau riêng có thé truy xuất nguồn gốc sản phẩm nhằm tăng tính bảomật Hệ thong này sử dụng hợp đồng thông minh Ethereum dé ghi lại quyền sở hữusản phẩm, lịch sử giao dịch giúp truy xuất và xác minh nguồn gốc sản phẩm từ công

ty cây giống đến nông dân

Hệ thống hiện tại nhóm phát triển có bốn loại người dùng: quan tri viên, công ty hatgiống, nông dân và nhà sản xuất Mỗi loại người dùng có các đặc quyền và hành động

khác nhau.Hệ thống mua bán hoạt động như sau: Người dùng đăng ký sản phẩm với

hệ thống và ghi lại thông tin sản phẩm trên blockchain Khách hàng có thé xem danhsách sản phẩm và đặt hàng với chủ sản phẩm Chủ sản phẩm xác nhận đơn hang vachuyền quyền sở hữu sản phẩm cho khách Hệ thống ghi lại lịch sử giao dich và cho

bên mua truy xuât nguôn gôc sản phâm.

Trang 19

Chương 1 _ GIỚI THIỆU TONG QUAN DE TÀI

1.1 Lý do chọn đề tài

Cho tới thời điểm hiện tại, ở Việt Nam chưa có hệ thống chính thức nào sử dụng dé

ghi nhận thông tin nguồn gốc sản phẩm, cung cấp thông tin hiệu quả và hỗ trợ quản

lý kịp thời Hiện nay trên thị trường có rất nhiều sản phẩm sầu riêng lưu hành nhưngthông tin về nguồn gốc xuất xứ thường không rõ ràng [2] Thực tế cho thấy việc sửdụng mã vùng nông nghiệp hiện nay chưa rõ ràng Bên cạnh đó, ở một số địa phươngtrong cả nước đã xuất hiện tình trạng độn hàng, đổi mã vùng trồng [3] Điều này khiến

người tiêu dùng cảm thấy lo ngại khi mua sắm, vì họ không có độ tin cậy về an toàn

của sản phẩm

Trong bối cảnh nền kinh tế đang phát triển, sức khỏe trở thành một phần quan trọng

trong việc thúc đây sự phát triển của đất nước Người tiêu dùng muốn lựa chọnsản phâm có nguồn gốc rõ ràng Vậy nên, nhóm nghiên cứu “xây dựng hệ thốngwebsite chuỗi cung ứng sầu riêng và đăng ký truy xuất nguồn gốc bằng blockchain”làm đề tài Mục tiêu của nhóm em là tạo ra một giải pháp hiệu quả để cải thiện tínhminh bạch và đáng tin cậy của nguồn gốc sản pham, giúp người tiêu dùng yên tâmhơn khi lựa chọn và sử dụng sản phẩm sầu riêng

1.2 Các công trình liên quan

Dựa trên nhiều nguồn thông tin khác nhau [4], [5] , đã có nhiều nghiên cứu đề cậpđến việc sử dụng blockchain để truy xuất nguồn gốc sản phẩm Những nghiên cứunày tập trung vào việc phân tích các lợi ích mà công nghệ blockchain có thể manglai, từ việc giam rui ro dén viéc tăng cường sự minh bach va hiệu quả trong quan ly

toàn bộ chuỗi cung ứng.

Các công trình liên quan :

A Blockchain Based System for Product Tracing and Tracking in the Supply

Chain Management [4]: Trinh bay về một hệ thống quản lý chuỗi cung ứng dựa trênblockchain để chống hàng giả Hệ thống này sử dụng hợp đồng thông minh Ethereum

dé ghi lại quyền sở hữu sản phẩm, giúp truy xuất và xác minh nguồn gốc sản phẩm

từ nhà sản xuât đên người tiêu dùng.

Trang 20

Hệ thống hoạt động như sau:

Nhà sản xuất đăng ký sản phẩm với hệ thống và ghi lại thông tin sản phẩm trên

blockchain.

Nhà bán lẻ có thé xem danh sách sản phẩm và đặt hàng với nhà san xuất

Nhà sản xuất xác nhận đơn hang và chuyền quyền sở hữu sản phẩm cho nhà bán lẻ.Khách hàng có thé xem danh sách sản phẩm từ nhà bán lẻ và đặt hàng

Hệ thống ghi lại lịch sử giao dịch và cho phép khách hàng truy xuất nguồn gốc sảnphẩm

Uu điểm :

Bao mật: Blockchain giúp bảo vệ tính toàn vẹn của dt liệu va chống giả mạo

Minh bạch: Tất cả các giao dich đều được ghi lại trên blockchain và có thé được truyxuất bởi tất cả các bên liên quan

Hiệu quả: Hệ thống tự động hóa quy trình xác minh sản phẩm, giúp tiết kiệm thời

gian và chi phí.

Chi phí giao dịch trên blockchain cao

khả năng bị tắn công mạng

Supply chain traceability using blockchain [5]: Tài liệu trình bày về hệ thống quản

lý chuỗi cung ứng sử dụng kết hợp blockchain, hợp đồng thông minh và chứng nhận

kỹ thuật số dé theo dõi hành trình của sản phẩm từ nhà sản xuất đến tay người tiêu

dùng.

Hệ thống hoạt động như sau:

Thu thập thông tin sản phẩm: Nhà sản xuat thu thập thông tin sản phẩm va tạo chứng

nhận kỹ thuật sé.

Lưu trữ thông tin trên blockchain: Chứng nhận kỹ thuật số được lưu trữ trên

blockchain Ethereum.

Theo dõi hành trình sản phẩm: Hợp đồng thông minh được sử dụng để theo dõi hành

trình của sản phẩm qua các khâu trong chuỗi cung ứng

Xác minh nguồn gốc sản phẩm: Người tiêu dùng có thé sử dụng mã QR dé truy xuất

Trang 21

thông tin sản phẩm trên blockchain và xác minh nguồn gốc sản pham.

Hệ thống quản trị: Là nơi để Admin có thể quản lý người dùng

Bảng điều khiển: Tạo một bảng điều khiển thông tin tong hợp dé xem xét tinh trang

và hiệu suất của chuồi cung ứng

Quản lý thông tin cá nhân: Xây dựng mô-đun quản lý thông tin cá nhân đề lưu trữ vàquản lý thông tin cá nhân của người dùng một cách an toàn và tuân thủ quy định về

1.4 Đối tượng, phạm vi nghiên cứu

1.4.1 Đối tượng nghiên cứu

Nội dung: Công nghệ FastAPI, Hardhat, Blockchain, NextJs.

Đối tượng sử dụng: Công ty hạt giống, nông dân, nhà máy, nhà phân phối, nhà bán lẻ

và người tiêu dùng

1.4.2 Phạm vi nghiên cứu

Phạm vi không gian: Hiện tại, hệ thống chuỗi cung ứng bao gồm các đối tương như

Trang 22

các nhà máy, nông dân và công ty hạt giống.

Pham vi nội dung: Xây dung website quản lý chuỗi cung ứng bằng Python, FastAPI,

Hardhat Blockchain, solidity,NextJs.

1.5 Thách thức của dé tài

Phí gas trên blockchain Etherium hiện tại rất lớn Phí gas phải trả cho mỗi yêu cầugiao dịch bao gồm chỉ phí cơ bản (được thiết lập bởi giao thức) và phí ưu tiên (đượcxácđịnh bởi mức độ sử dụng tại thời điểm gửi giao dịch)

1.6 Hướng giải quyết

Nhóm sé sử dụng blockchain Arbitrum [5], một giải pháp Layer 2 cho Ethereum, cho phép người dùng thực hiện các giao dịch rẻ hơn và nhanh hơn so với Ethereum Layer

1 Arbitrum thực hiện các giao dịch trên Layer 1 của Ethereum bằng cách sử dụng cơchế rollups, nhưng trạng thái của các giao dịch được lưu trữ trên một sidechain khác

Trang 23

Chương2 CƠ SỞ LÝ THUYÉT

2.1 Giới thiệu về framework FastAPI ;

FastAPI [6] là framework web cho phat triên các ứng dung API nhanh chóng va

hiệu quả bang Python Nó được xây dựng dựa trên Starlette, một framework websiêu nhanh và hiệu quả về việc xử lý request/response

FastAPI có công nghệ Asynchronous I/O dé đảm bảo hiệu suất tối đa và khả năng

xử lý đồng thời.FastAPI có nhiều đặc điểm nổi bật Đầu tiên, nó rất nhanh và hiệuquả Nhờ sử dung Python type hints, FastAPI có khả năng tự động tao mã và kiểmtra kiểu dữ liệu, giúp giảm thiêu lỗi và tăng khả năng bảo mật FastAPI cũng hỗ trợ

cơ chế dự báo (predict) nên nó có thể đáp ứng các yêu cầu hiệu suất cao và thời gian

thực.

Một đặc điểm khác của FastAPI là việc tạo API dé dàng Bằng cách sử dụng cácdecorator và hàm Python, FastAPI cho phép bạn xác định các endpoint, yêu cầu dữliệu và kiểu đữ liệu trả về FastAPI cũng hỗ trợ tạo và tương tác với các loại đữ liệu

như JSON, form data, query parameters va path parameters.

FastAPI cũng di kèm với các tính năng như validation, authentication,

authorization va logging Nó cũng tích hợp tốt với các công cụ phô biến khác trongcộng đồng Python như Pydantic, SQLAIchemy, Tortoise-ORM, va nhiéu thu vién

khac.

Ưu điểm:

Hiệu suất cao: FastAPI được xây dựng dựa trên Starlette và Pydantic, mang lạihiệu suất cao hơn so với các framework Python khác như Django va Flask Nângcao nhanh chóng: Một số tính năng tích hợp có sẵn của FastAPI làm cho việc phát

triển API trở nên dễ dang hơn: Xác thực di liệu tự động Ma bất đồng bộ, OpenAPI

và Swagger UI đều được hỗ trợ

Dé học và sử dung: FastAPI có cú pháp đơn giản, dé hiểu và dé học hon so với

Django.

Nhuoc diém:

Trang 24

Ít tính năng quản trị: FastAPI không có nhiều tính năng quản trị web ứng dụng sovới Django vì nó tập trung vào phát triển API.So sánh FastAPI với Flask và Django:

Django Flask FastAPI

Python version | Tat cả phiên bản: | Tấtcảphiên ban: | Chỉ hỗ trợ phiên

2x,3x 2x,3x ban 3x

Project frame Có, chi cần run | Không Không

python manage startapp yourapp

Async Hỗ trợ từ Django | Không hỗ trợ Có hỗ trợ

3.x

Builtin Admin | Có Không Không

UI

Bảng 2.1 Bang so sánh giữa FastAPI,Flask,Django

Tổng quan, FastAPI là một framework web mạnh mẽ và hiệu quả cho việc phát triểncác ứng dụng API Với khả năng xử lý nhanh, hỗ trợ kiểm tra kiêu đữ liệu và cungcấp các tính năng phong phú, FastAPI là lựa chon tốt cho việc xây dựng các dịch vụweb có hiệu suất cao và 6n định

2.2 Giới thiệu về Blockchain

Blockchain [7] là công nghệ cơ sở đữ liệu phân tán và phi tập trung, được thiết kế

dé giữ an toàn và không thé thay đổi dit liệu

Block: Là thành phan chính của dit liệu trong blockchain Mỗi block chứa một lượngthông tin và có một định danh duy nhất được gọi là "hash" Hash của mỗi khối cũng

Trang 25

bao gôm hash của khôi trước đó, tạo thành một chuỗi các khối - do đó có tên là

"blockchain".

Hash: Một ham hash có thé dé tao ra một chuỗi ký tự va số cu thé từ dit liệu đầu vào

OO SSS Sooo =

block 1 block 2 block 3

previous hash Previous hash previous hash

Hình 2.1: Minh họa cấu trúc Blockchain

Mạng Phân Tan: Thay vì lưu trữ dir liệu tập trung tại một điểm, blockchain lưu trữ

dữ liệu trên nhiều nút trong một mạng.Bản sao của toàn bộ blockchain được cung

cấp cho mỗi nút, đảm bảo an toàn và độ tin cậy của dit liệu

Giao thức Consensus: Đề đảm bảo tính nhất quán giữa các nút trong mạng,

blockchain sử dụng các giao thức consensus như Proof of Work (PoW) hoặc Proof

of Stake (PoS) Các nút trong mạng phải đồng thuận với nhau về trạng thái của

blockchain.

Thời gian thực và Phi tập trung: Blockchain cho phép ghi lại và xác nhận giao dịch

một cách nhanh chóng mà không cần sự can thiệp của bên trung ương Điều này có thé giúp giảm độ trễ và chi phí trong quá trình giao dich.

Hợp đồng Thông minh: Đây là các đoạn mã tự thực hiện các điều khoản hợp đồng

mà không cần sự can thiệp của bên thứ ba Hợp đồng thông minh chạy trên

blockchain và tự động thực hiện các điều kiện đã được xác định

Ứng dụng rộng rãi: Ngoài tiền điện tử, blockchain còn được sử dụng trong nhiều

lĩnh vực như quản lý chuỗi cung ứng, y tế, bảo hiểm, quản lý tài sản, và nhiều lĩnh

vực khác.

Trang 26

Ưu điểm:

- Độ chính xác được cai thiện bang cách loại bỏ su tham gia của con người

vào quá trình xác minh.

- Việc gia mao trở nên khó hơn với phi tập trung.

- Giao dich nhanh chong

Nhuoc diém:

- Giao dich thấp mỗi giây

- Luu trữ dir liệu bi giới hạn

Điểm nồi bật của hệ thống quản lý chuỗi cung ứng có ứng dụng blockchain so với

hệ thống quản lý chuỗi cung ứng truyền thống [5]:

Tính Đáng Tin Cậy (Trustworthy): Blockchain sử dụng mô hình phân phối và kỹ

thuật mã hóa dé tạo ra một hệ thong không thé thay đôi va an toàn Moi giao dịch và

thông tin được lưu trữ trên blockchain không thé bị sửa đôi một khi đã được xác

nhận, tạo ra một nguồn dữ liệu đáng tin cậy về nguồn gốc và lịch sử của sản phẩm

trong chuỗi cung ứng.

Truy Xuất Ngược (Traceability): Blockchain cho phép theo doi nguồn gốc của từngsản pham từ bước đầu chuỗi cung ứng cho đến tay người tiêu dùng Mỗi bước trongchuỗi cung ứng được ghi lại trong các khối, giúp quản lý và truy xuất nguồn gốc trở

nên minh bach va dé dàng.

Chống Gia Mao (Anti-counterfeiting): Sự an toàn của dữ liệu trên blockchain làm

giảm nguy cơ làm giả mạo thông tin về sản phẩm Mỗi sản phẩm được gắn với một

mã xác nhận độc đáo (hash) trong blockchain, làm tăng khả năng nhận biết sản

phẩm thật và giả mạo

Giảm Chi Phí và Thời Gian (Cost and Time Efficiency): Blockchain giảm thiểu cần

thiết phải có một bên trung gian (như ngân hàng hoặc bên thứ ba) trong quá trình

xác nhận và xử lý giao dịch Điều này giúp giảm chỉ phí và thời gian trong chuỗi

cung ứng.

Tính Phi Tập Trung (Decentralization): Hệ thông blockchain không có một trung

tâm quản lý duy nhất, mà đữ liệu và giao dịch được phân tán trên nhiều nút (node)

Trang 27

khác nhau Điều này làm tăng tính bền vững và an toàn của hệ thống, vì không cómột điểm yếu nào có thé bị tan công dé anh hưởng đến toàn bộ hệ thống.

Blockchain mang lai sự minh bach, tính an toàn và tinh khả tao mà các hệ thống

quản lý chuỗi cung ứng truyền thống thường không có Các đặc tính này giúp cải

thiện quản lý chuỗi cung ứng, truy xuất nguồn gốc và giảm thiểu rủi ro trong quá

trình giao dịch

2.3 Giới thiệu về hệ quan trị dữ liệu PostgreSQL

PostgreSQL [8], [9] là hệ thống quản tri cơ sở dữ liệu quan hệ và đối tượng có mục

dich, là hệ thông cơ sở dữ liệu mã nguôn mở miên phí và hiện đại nhat.

Hỗ trợ ACID: Đề đảm bảo tính toàn vẹn và độ tin cậy của dữ liệu, PostgreSQL tuânthủ các nguyên tắc ACID (Atomicity, Consistency, Isolation, Durability)

Cấu trúc có thể thay đổi: Các kiểu dữ liệu và quan hệ phức tạp có thể được tạo ravới PostgreSQL Nó hỗ trợ đa dạng loại dit liệu như số, văn bản, hình ảnh và địa lý

Hỗ trợ truy vấn mạnh mẽ: PostgreSQL cung cấp ngôn ngữ truy van SQL day đủ và

hỗ trợ các chức năng phức tạp như truy van join, cửa số (window functions), và truyvấn đệ quy

Bảo mật cao: Các tinh năng bảo mật của PostgreSQL bao gồm xác thực, mã hóa dữliệu, kiếm soát quyền truy cập dựa trên vai trò (kiểm soát quyền truy cập dựa trên

vai trò) và kiểm soát truy cập độc lập trên các đối tượng cơ sở đữ liệu.

2.5 Giới thiệu về Pusher

Pusher [10]là một dịch vụ độc đáo được thiết kế để cung cấp giải pháp cho truyền

thông realtime trong ứng dụng website và di động.

Realtime Communication: Pusher sử dung công nghệ WebSockets dé tạo kết nốiliên tục giữa may chủ và trình duyét/tmg dụng di động, giúp thông tin được truyềntải ngay lập tức mà không cần phải làm mới trang hay tải lại ứng dụng

10

Trang 28

Channels và Events: Pusher sử dụng kênh (Channels) dé định rõ đối tượng truyềnthông và sự kiện (Events) dé đặc tả loại thông điệp Điều này mang lại sự linh hoạt

và kiêm soát cho các ứng dụng.

Bảo mật: Pusher chú trọng đến vấn đề bảo mật, cung cấp các biện pháp như HTTPS

và các phương tiện xác thực đề đảm bảo an toàn cho dữ liệu trong quá trình truyền

tải.

Pusher thường được sử dụng trong nhiều trường hợp, từ các ứng dụng chat realtimeđến các ứng dụng cần cập nhật thông tin ngay lập tức như bảng điều khiển thời gianthực, thông báo trực tiếp, và nhiều ứng dụng khác

2.4 Giới thiệu về NextJs

Next.js_[11], [12] là một Framework phat triển ứng dụng web React chạy cả trên

máy chủ và phía máy khách Nó được xây dựng dựa trên React, JavaScript, vaNodeJs, và được phát triển bởi Vercel

Ưu điểm:

Server-Side Rendering: Một trong những ưu điểm lớn của Nextjs là khả năng hỗ trợserver-side rendering SSR giúp tang cường hiệu suất, tối ưu hóa SEO, va cải thiện

trải nghiệm người dùng.

Client-Side Rendering: Nextjs cũng hỗ trợ client-side rendering cho các trang và

phần tử cụ thé Điều này cho phép bạn chọn cách tải và hiển thị đữ liệu, đặc biệt là

đôi với các trang hoặc phân tử không cân sự tương tác nhiêu từ phía máy chủ.

Tích hợp React: Nextjs là một phần của hệ sinh thái React, điều này đồng nghĩa rằngbạn có thê sử dung tat cả tính năng và thư viện của React khi phát triển ứng dụng

với Next.Js.

Routing tự động: Nextjs cung cấp một hệ thống định tuyến tự động dựa trên thư mục

và tên tệp, giúp ban dé dang tạo và quản lý các trang trong ứng dụng mà không cầncau hình định tuyến thủ công

11

Trang 29

- Tich hợp dé dàng: Nextjs có thé tích hop dé dàng với các dịch vụ như Vercel,

Netlify, và các nền tảng khác dé triển khai ứng dụng một cách đơn giản

Được thiết kế dé tập trung vào giao

diện va tính tương tac của người

Được thiết kế để tập trung vào việc

cải thiện hiệu suât dùng

Bảng 2.2 So sánh Nextjs và Reactjs

2.6 Giới thiệu về Cloudinary

Cloudinary [13] là một dịch vụ xây dựng trên đám mây cho phép nhiều người lưutrữ và quản lý tệp Nó giúp bạn lưu trữ, quản lý và cung cấp nội dung đa phươngtiện như hình ảnh, video, âm thanh và tệp tin khác trên nền tảng đám mây, cung cấphiệu suất nhanh chóng và tích hợp dé dang cho các ứng dụng web và di động

Uu điểm:

- Cai đặt đơn giản.

- _ Miễn phí 25 GB lưu trữ.

12

Trang 30

Nhược điểm:

Gói miễn phí không hợp với website lưu lượng truy cập cao

Các chức năng dùng trong dự án:

Lưu trữ đa phương tiện: Cloudinary cho lưu trữ và giám sát tất cả các tệp nhưhình

ảnh, video, tài liệu, và nhiều định dạng tệp tin khác

2.7 Giới thiệu về Hardhat

Một framework dé phát triển hợp đồng thông minh (smart contracts) và ứng dụngblockchain dựa trên nền tảng Ethereum được gọi là Hardhat [14] [15] Đây là một

sô diém nhân của Hardhat::

Phát triển và Kiêm thử Smart Contracts: Hardhat cung cấp một môi trường phát triểnmạnh mẽ cho việc xây dựng và kiểm thử smart contracts trên Ethereum Nó tích hợp

nhiều công cụ như Truffle, nhưng được xây dựng dé cung cấp trải nghiệm linh hoạt

hơn và tương thích tôt với nhiêu thư viện và công nghệ mới.

Hardhat Network: Hardhat đi kèm với Hardhat Network, một mạng riêng tư dé pháttriển và kiểm thử smart contracts mà không cần kết nối đến mạng chính thứcEthereum Điều này giúp giảm chỉ phí và tăng tốc độ phát triển

Plugins va Sự Mở Rộng: Hardhat hỗ trợ các plugins dé mở rộng khả năng của nó.Điều này giúp cộng đồng tao và chia sẻ các công cụ và tinh năng bồ sung dé tối ưu

hóa quy trình phát triên.Đồng bộ với Ecosystem Ethereum: Hardhat tích hợp tốt với

các công cụ và dự án phô biến khác trong hệ sinh thái Ethereum, giúp nhà phát triển

dễ dàng tích hợp vào các dự án lớn hơn.

2.8 Giới thiệu về Smartcontract

Các hợp đồng thông minh[13], còn được gọi là Smartcontract, đã chứng minh tiềmnăng lớn trong lĩnh vực blockchain Khái niệm này được đề xuất bởi Nick Szabovào năm 1994, và từ đó, smart contracts đã trở thành một phần quan trọng của các

hệ thống blockchain hàng đầu như Ethereum, Binance Smart Chain, và nhiều nền

tảng khác.

13

Trang 31

Smart contracts tự động hóa và thực thi các điều khoản của hợp đồng bên cạnh việcchỉ bao gồm đoạn mã máy tính Ngoài ra, chúng còn là cơ sở dit liệu chạy trên

blockchain Điều này làm cho các giao dịch trở nên minh bạch, giảm sự phụ thuộc

vào người trung gian và tăng tính chắc chắn của các giao dịch

Quy trình hoạt động của hợp đồng thông minh:

SMART CONTRACT

F4›)›%PARTIES SMART CONTRACT EXECUTION

Hình 2.2 Minh họa quy trình hoạt động của Smartcontract

Bước 1: Các bên tham gia giao kết smart contract bằng cách sử dụng chữ ký số déxác nhận danh tính và sự đồng ý của mình Hợp đồng thông minh được viết bằng

ngôn ngữ lập trình và được mã hóa chuyên biệt.

Bước 2: Hợp đồng thông minh được tải lên blockchain và được phân phối, sao chépbăng các node trong mạng lưới Mỗi node sẽ kiểm tra tính hợp lệ của hợp đồng vàxác nhận nó vào một khối mới

Bước 3: Khi có lệnh triển khai, hợp đồng sẽ tự động thực thi đúng như các điều khoản

đã lập trình Một mạng máy tính sẽ thực hiện các hành động khi đáp ứng được điềukiện xác minh Các hành động có thé là: chi trả tiền, đăng ký phương tiện, xuất hóa

đơn, gửi thông báo

Bước 4: Sau khi hoàn thành các hành động, kết quả sẽ được ghi lại và cập nhật trênblockchain Các bên có quyền truy cập có thé xem kết qua và không thé tự ý thay đồi

giao dich.

Uu diém:

14

Trang 32

Tự động: Smartcontract không cân sự can thiệp của con người đê thực hiện, chỉ cân

có các điều kiện được đáp ứng giúp tiết kiệm thời gian cho bên tham gia

Minh bạch: Hợp đồng thông minh được công khai trên blockchain, cho phép các bên

có quyên truy cập có thê kiêm tra các giao dịch một cách rõ ràng.

Tiết kiệm chi phi: Hợp đồng thông minh không cần đến các bên trung gian như luật

sư, ngân hang, dé thực thi hợp đồng

Nhược điểm:

Khó sửa chữa: Một khi hợp đồng thông minh được tải lên blockchain thì không thé

sửa hay hủy bỏ.

Thiếu pháp lý: Hợp đồng thông minh hiện nay vẫn chưa được công nhận và quy định

rõ bởi luật pháp của các quốc gia

Một trong những đặc điểm nổi bật của smart contracts là khả năng thực hiện tự độngdựa trên các điều kiện đã đặt ra Ví dụ, một smart contract có thể chuyền tiền tựđộng từ người này sang người khác khi một sự kiện nhất định xảy ra, như hạn mứcthời gian đã trôi qua hoặc một điều kiện lệnh đã được đáp ứng

Các smart contracts thường được viết bằng các ngôn ngữ lập trình đặc biệt cho mụcđích này, ví dụ như Solidity cho Ethereum Công cụ phát triển và môi trường thửnghiệm đồng thời hỗ trợ người phát triển trong quá trình xây dựng và triển khai

smart contracts Ung dung cua smart contracts rat da dang Trong linh vuc tai chinh,

chúng có thé được sử dung cho việc quan lý quỹ và chuyền đổi tiền tệ Trong lĩnhvực bat động sản, smart contracts có thé giúp thực hiện các giao dich mua ban mộtcách nhanh chóng va minh bạch Trong y tế, chúng có thé đóng vai trò quan trọngtrong quản lý thông tin y tế an toàn và riêng tư

Tóm lại, smart contracts không chỉ là một khái niệm trừu tượng mà còn là một công

cụ mạnh mẽ, hứa hẹn mang lại sự hiệu quả, minh bạch và tính an toàn cao trong

nhiều lĩnh vực của cuộc sống và kinh tế

2.9 Giới thiệu về Arbitrum

15

Trang 33

Arbitrum [5] là giải pháp mở rộng Layer 2 (L2) được xây dựng trên nền tảng

Ethereum sử dung Optimistic Rollups., nhằm mục đích giải quyết các van đề về khả

năng mở rộng và chi phí giao dịch cao mà Ethereum dang gặp phải.

Optimistic Rollup hoạt động bằng cách di chuyên việc thực thi giao dịch ra ngoài

chuỗi, nhưng vẫn giữ nguyên trạng thái giao dịch trên chuỗi chính Điều này giúp

giảm tải cho chuôi chính, từ đó cải thiện khả năng mở rộng.

Cách thức hoạt động của Optimistic Rollup [4]:

« Gui giao dịch: Người dùng gửi giao dịch đến Optimistic Rollup

« - Xử lý giao dịch: Trình xác minh (sequencer) xử lý giao dịch ngoài chuỗi.

« Luu trữ trạng thái: Trạng thái giao dịch được lưu trữ trên chuỗi chính

Ethereum.

¢ _ Thách thức gian lận: Bat kỳ ai cũng có thê thách thức giao dịch là gian lận

trong một khoảng thời gian nhât định.

« Giải quyết tranh chấp: Nếu có tranh chấp, trình xác minh sẽ cung cấp

băng chứng đê chứng minh giao dịch hợp lệ.

Điêm nôi bật của Arbitrum One:

« _ Tốc độ giao dịch nhanh: Nhờ sử dung công nghệ Optimistic Rollup,

Arbitrum One có thé xử lý giao dịch nhanh hơn Ethereum nhiều lần, giúp

giảm thời gian chờ đợi cho người dùng.

«Phi giao dịch thấp: Phí giao dịch trên Arbitrum One rẻ hon đáng kể so với

Ethereum, giúp người dùng tiết kiệm chi phí khi thực hiện giao dịch

e Kha năng tương thích: Arbitrum One hoàn toan tương thích với Ethereum,

nghĩa là các hợp đồng thông minh và ứng dụng hiện có trên Ethereum có thể

dễ dàng triển khai trên Arbitrum One mà không cần thay đổi

e Bao mật: Arbitrum One được thừa hưởng tính bảo mật từ Ethereum, do đó

người dùng có thê yên tâm vê sự an toàn của tài sản của mình.

16

Trang 34

Ứng dụng của Arbitrum One:

« DeFi (Tài chính phi tập trung): Arbitrum One là môi trường lý tưởng cho các

ứng dụng DeEi do tốc độ giao dịch nhanh và phí giao dịch thấp

¢ NET (Non-Fungible Token): Arbitrum One cũng là lựa chọn phổ biến cho

các ứng dụng NFT đo khả năng mở rộng và chỉ phí thấp

Lợi ích khi sử dụng Arbitrum One:

« - Giảm thời gian chờ đợi giao dich: Người dùng có thé thực hiện giao dịch

nhanh hơn và tiết kiệm thời gian

¢ _ Tiết kiệm chi phi giao dịch: Người dùng có thê tiết kiệm chi phí khi thực

hiện giao dịch.

May ảo Ethereum (EVM) đóng vai trò trung tâm trong hệ sinh thái Ethereum, ví

như một chiếc máy tính duy nhất và thống nhất cho toàn bộ mạng lưới Mỗi thành

viên tham gia Ethereum đều lưu trữ một bản sao của EVM, cho phép họ thực hiện

các giao dịch và ứng dụng phi tập trung (dApps) một cách đồng nhất

Cách thức hoạt đông:

1 Gửi yêu cầu giao dịch: Người dùng gửi yêu cầu giao dịch đến mạng lưới

Ethereum Yêu cầu này bao gồm các thông tin như người gửi, người nhận, sốtiền và dữ liệu giao dịch

2 Thực thi giao dịch: EVM trên mỗi nút mạng lưới sẽ nhận được yêu cầu giao

dịch và thực hiện các tính toán cần thiết để hoàn thành giao dịch

3 Xác minh giao dịch: Các nút khác trong mạng lưới sẽ kiểm tra và xác minh

tính hợp lệ của giao dich Quá trình nay đảm bảo rang giao dịch tuân thủ cácquy tắc của Ethereum và không có gian lận xảy ra

4 Cập nhật trạng thái: Sau khi xác minh thành công, kết quả giao dich sẽ

được cập nhật lên EVM và đồng bộ cho tất cả các nút trong mạng lưới Điều

17

Trang 35

này dam bảo răng mọi người đêu có chung dữ liệu và lịch sử giao dịch nhat

quán

Ethereum là một nền tảng phi tập trung sử dụng công nghệ blockchain đề hỗ trợ

các giao dịch và ứng dung phi tập trung (dApps) Hệ thống hoạt động dựa trên

Ether (ETH), tiền điện tử gốc của Ethereum, được sử dụng đề:

«e Thưởng cho thợ đào/người xác nhận: Họ đóng vai trò quan trọng trong

việc xác minh giao dịch và thực hiện các yêu cầu tính toán trên mạng lưới

Phí này được gọi là phi gas.

‹ Thanh toán cho các giao dich: Người dùng can trả một khoản phí gas nhỏ

cho mỗi giao dịch thực hiện trên mạng lưới Mức phí này phụ thuộc vào độ

phức tạp của giao dịch và nhu cầu sử dụng mạng lưới tại thời điểm đó

Gas là đơn vị đo lường lượng tài nguyên tính toán cần thiết cho các hoạt động trên

Ethereum Việc thu phí gas giúp:

‹ Ngan chặn các hành vi lừa đảo: Việc sử dụng gas tốn kém sẽ khiến các tác

nhân xấu không thé thực hiện các hành vi tan công mạng lưới hiệu quả

‹ Duy trì tính bảo mật: Phí gas đóng góp vào việc bảo mật mạng lưới bằng

cách khuyến khích các thợ đào/người xác nhận tham gia vào quá trình xác

minh giao dịch.

Quy trình hoạt động:

1 Giao dịch: Người dùng thực hiện giao dịch trên mạng lưới Ethereum.

2 Tính toán phí gas: Mức phí gas cho mỗi giao dịch được xác định dựa trên

độ phức tạp của giao dịch và nhu cầu sử dụng mạng lưới tại thời điểm đó

3 Xác minh giao dịch: Các thợ đào/người xác nhận thu thập và xác minh giao

dịch.

4 Đóng gói giao dịch: Các giao dịch được đóng gói thành các khối.

18

Trang 36

5 Thêm khối vào chuỗi khối: Các khối được xác nhận và thêm vào chuỗi khối

Ethereum, tạo thành số cái công khai ghi chép lịch sử giao dich

6 Thưởng cho thợ đào/người xác nhận: Phí gas được phân phối cho các thợ

đào/người xác nhận đã tham gia vào việc xác minh giao dịch và đóng góp vào bảo mật mạng lưới.

Cơ chế đồng thuận Proof-of-Stake:

Ké từ năm 2022, Ethereum chuyền sang sử dụng cơ chế đồng thuận Proof-of-Stake(PoS) thay vì Proof-of-Work (PoW) trước đây PoS giúp tiết kiệm năng lượng hon

và hoạt động hiệu quả hơn.

Vai trò của nút mạng:

¢ Luu trữ dữ liệu: Các nút mạng lưu trữ bản sao đầy đủ của chuỗi khối

Ethereum, đảm bảo tính phi tập trung và an toàn cho mạng lưới.

e Xác minh giao dich: Các nút mạng tham gia vào quá trình xác minh giao

dịch và đảm bảo tính chính xác của số cái công khai

‹ _ Cung cấp dich vụ: Một số nút mạng cung cấp dịch vu API cho phép

người dùng và các ứng dụng dApps truy cập dữ liệu và thực hiện giao dịch trên Ethereum.

19

Trang 37

Chương 3 PHAN TÍCH, THIET KE HE THONG

3.1 Xác định yêu cầu

Tìm hiểu các luồng hoạt động của một website

Nghiên cứu các yêu cầu của mọi người về một ứng dụng quản lý chuỗi cung ứngsầu riêng, từ đó phân tích các chức năng cần có của ứng dụng

Xây dựng các chức năng từ những yêu cầu của người dùng:

Chia sẻ thông tin: Đăng sản phẩm, xem thông tin sản phẩm

Tương tác với sản phẩm: bình luận về sản phẩm, xem nguồn gốc sản phẩm

Chức năng tìm kiếm: Tìm kiếm theo tên và giá tiền, nhắn tin được với chủ sản phẩm,

theo dõi tinh trạng mua bán của sản phẩm,

3.2 Qui trình nghiệp vu

Sơ đô dưới đây biên hiện mô phỏng các chức năng của các nhóm người dùng trong

Website quản lý chuỗi cung ứng sầu riêng

Breakdown diagram

Supply chain durian

Admin Seedling Comoany Farmer Manufacturer

User management Product management Product management Product management

E—| Search product || Search product ‘Search product

‘Search user

(Add update, delete| (Adc, Undate, deese] ¬ update delete| Add undate delete

for users for products for products for products

(Order management

‘Order management —| Order management

H Search order | Search order j-] Search order

LÍ Confem order LÍ Confem order [7] Confirm order

LJ Buy order

int managerment LY Buy order

Read infomation 1 account management

Account managerment

|_| ead infomation Read infomation Update infomation

|] Urdate infomation

Update password Update infomation

Update password Update password

Deposit, Withdraw

11 Deposit, witharaw Deposit Withdraw

Hình 3.1 Minh hoa chức năng từng nhóm người dùng

20

Trang 38

Chức năng Admin:

Đăng nhập

Thống kê lượng người dùng và sản phẩm trong hệ thống

Quản lý người dùng trong hệ thống( xóa người dùng, phân quyền người dùng )

Chức năng Seedling Company(công ty hạt giống):

Quản lý sản phẩm ( Thêm, xóa, cập nhật tình trang sản phẩm, bán sản phẩm)

Quản lý giao dịch ( Theo đõi lịch sử giao dịch , xác nhận hoặc từ chối đơn hàng)

Nạp tiền bằng ví VNPay

3.3 Phân tích yêu cầu

3.3.1 Chức năng đăng ky

Hệ thống sẽ hién thị ra form dé người dùng có thé đăng ký bang email

Sau đó hệ thống sẽ gửi mã về email mà người dùng đã đăng ký

Lúc này người dùng có thé lay mã dé xác nhận hoàn tat đăng ký

21

Trang 39

3.3.3 Chức năng quên mật khẩu

Khi quên mật khâu, người dùng có thê lẫy lại mật khâu băng cách nhập email của

mình roi xác nhận dé lây lại mật khâu của mình.

3.3.4 Chức năng thay đổi mật khẩu

Người dùng có thé thay đổi mật khẩu của minh bang cách nhập đúng mật khẩu củ

và nhập lại mật khẩu mới của mình.

3.3.5 Chức năng khóa tài khoản người dùng

Đối với Admin có thể khóa tài khoản người dùng

3.3.6 Chức năng nạp, rút tiền tài khoản của người dùng

Nạp tiền: người dùng sẽ chọn số tiền mà muốn chuyên vào hệ thống, lúc này hệ

thống sẽ tự động tạo một nội dung chuyền khoản và một mã QR Code Người dùng

sẽ quyét mã đề chuyền tiền

Rút tiên: người dùng sẽ rút sô tiên mong muôn trong tài khoản của mình.

3.3.7 Chức năng xác thực và ủy quyền người dùng bằng token (JWT)

Khi người dùng đăng nhập vào, hệ thống sẽ tạo ra một mã token, từ token đó thì hệ

thong sẽ biét được người đó là ai và và có các quyên gi đê tương tác với hệ thông.

22

Trang 40

3.3.8 Chức năng thống kê người dùng cho Admin

Đối với Admin thì có thé xem được tổng số người dùng trong hệ thống, tổng số

người dùng đã tham gia, tổng số Member, Seedling company, Farmer,Manufacturer, tổng sản pham ở Marketplcae, tổng từng loại sản phâm, số số giao

dịch theo ngày, tháng,

3.3.9 Chức năng thống kê cho người dùng

Đối với mỗi người dùng thì có thé xem được tông số lượng sản phẩm của mình, tong

sô lượt mua sản phâm của mình, tông sô lượt đã được mua từ người khác.

3.3.10 Chức năng khảo sát người dùng

Sau khi đăng ký thành công và đăng nhập vào hệ thống, mặc định vai trò của ngườidùng đó là “MEMBER”, đối với vai trò này thì người dùng chỉ được phép xem cácthông tin về các sản phẩm và không thể thao tác như mua sản phẩm từ các nguồn.Lúc này người dùng phải làm khảo sát và hệ thong sẽ hiển thị các vai trò mong muốnnhư “SEEDLING_COMPANY, FARMER, MANUFACTURER” dé đúng với nhucầu của người

3.3.11 Chức năng xác nhận khảo sát người dùng đối với Admin

Hiển thị tat cả các người dùng đã làm khảo sát, lúc này Admin có thé xem các khảosát mà người dùng đã làm, và có thể cân nhắc chấp nhận hay từ chối một người dùngbất kỳ

3.3.12 Chức năng cập nhật thông tin cá nhân

Người dùng có thể cập nhật lại thông tin của mình như avatar, mô tả về bản thân,

địa chỉ, nơi làm việc,

3.3.13 Chức năng tạo sản phẩm

Seedling company

23

Ngày đăng: 06/12/2024, 15:18