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

Khóa luận tốt nghiệp Công nghệ phần mềm: Phát triển ứng dụng truy xuất nguồn gốc hàng hoá tích hợp Ethereum Blockchain và Smart Contract

149 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 đề 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
Tác giả Nguyen Thanh Hieu, Tran Quoc Khanh
Người hướng dẫn Nguyen Trinh Dong
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ Phần mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 149
Dung lượng 72,41 MB

Nội dung

Cộng với việc phát triển của các ứng dung Web va Mobile ngàycàng dễ dang, 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ẽ

Trang 1

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

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

NGUYEN THANH HIEU — 19521505 TRAN QUOC KHANH - 19521686

KHOA LUAN TOT NGHIEP

UNG DUNG TRUY XUAT NGUON GOC DUA

TREN ETHEREUM SMART CONTRACT

Developing a commodities traceability application based

on Ethereum Blockchain and Smart Contract

KY SU/ CU NHAN NGANH CONG NGHE PHAN MEM

GIANG VIEN HUONG DAN

NGUYEN TRINH DONG

TP HO CHi MINH, 2023

Trang 2

Điều thứ hai, chúng em muốn gửi lời cảm ơn trực tiếp đến thay 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ư van, 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 quá trình thực hiện khóa luận, chúng em đã vận dùng và tổng hợp nhữngkiế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ớitrong 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ómcò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ácthiế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ô dé 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 quý thầy cô

TP Hỗ Chi Minh, Ngày tháng 7 năm 2023

Sinh viên

NGUYÊN THÀNH HIẾU

TRAN QUỐC KHANH

Trang 3

TOM TAT KHOA LLULẬÌN - 2222 2© S2 EEEEEEEkeEESEEEEEEkEEkerkerrerrkrrerrerree 1

ĐỀ CƯƠNG CHI TẾ T +5 ©s£©5e++EEESEEE++e£EteEEkeExseEteerketrketrerkerrkerrerree 3

CHUONG 1: MỞ ĐIẦU - -ce-©Se5S£©cs‡ExeSESEEteEketrtetrketreertrrketrksrreerreee 9

1.1 LY do chọn đề tài - ccs5scesesrseseesrsresetsrsrsrssrsrsree 9

1.2.1 Khách Quan Ăn ng 9

1.3.1 Các công nghệ nghién COU: 5 6 5+ EkEEEEeEreerersererkre 101.3.2 Đối tượng sử dụng đề tài hướng đến: . ¿ s+©s++cx++cxescxees 11

2.1.1 Giới thiệu cc 55c tk SE E11 EExcEtrrrrrkrrree 13

Trang 4

2.1.3 Giới thiệu Ant Des1gn HH HH kt 14

2.3 Express JS — Framework của Node JS - «SSSSSSSsseses 16

2.3.1 Giới thiệu Express JS woe ceseeeeseceseecseeeeseeceneessaeeeseeesseeesaeeesaeeeseeesaes 16

2.3.2 Ap dung vao 6 tai cccccccccscsssesssesssecssecsecssecssecsssssscasecssecsuscsecasecsseeseeases 17

2.4 Smart Contract và Ethereum cccssccssssssesssssscessessceeessssseeesssseeees 18

2.4.3 Lý do lựa chọn ứng dụng Blockchain vào đề tài -‹- 20

2.5.1 Giới thiệu về Firebase .cc-csttcrktiiertirttriirirriiirrrreeiei 22

2.7.2 Áp dụng vào đề tài s se Sex vvctexeveretrttrsrsrsrererrrrsree 24

2.8.1 Giới thiệu về Amazon Web SerViCes s-scscscscscscereeeeesesree 252.8.2 Áp dụng vào đề tài s-c<csccectttEkrkEkrkerrkerrkerrkrrseesre 26

Trang 5

2.9.1 Giới thiệu về Android 5-5-5-s-sssesssseesttsrsrsrsrseeersree 26

2.9.2 Giới thiệu về Kotlin -. 5-5sccccesesesesreretstsrsrsrsrsrsersree 27

2.9.3 Áp dụng vào đề tài -s- <csccestrstekerkerrkerrkerrkerrkersresre 27

CHUONG 3: THIET KE - SỬ DỤNG BLOCKCHAIN TRONG HỆ THONG 28

3.1 Tống quan về mạng Ethereum blockchain công khai (Ethereum Public

3.2 Tổng quan về mạng Ethereum Blockchain nội bộ (Ethereum Private

Blockchain 861 2ã./)y 90277 28

3.2.1 Giới thiệu về PoA Private Blockchain - << << 52 29

3.2.2 Kiến trúc của Nut trong Ethereum (Ethereum Node Strueture) 29

Thuật toán đồng thuận Ethash: - -<55s+s+ss>sesesexexesessrszsesee 31

3.4 Kiến trúc Blockchain trong hệ thống 5-5-55essesecsss<s2 323.4.1 Kiến trúc luồng hoạt động của Public Bloekehain 32

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

3.5 So sánh Public Blockchain Network va Private Blockchain Network 34

3.5.1 Kha năng sử dung và tiép cận 5-5-<cccscseseseseseseseeeeersre 34

3.5.2 Quản (TỊ cọ họ Họ m4 35

3.5.4 Bảo mật và hiệu suất 5-5-5-sscceeeseeeEEettsrsrsrsrsreerersree 35

Trang 6

3.5.5 Tính Ứng Ụng - 000000094 36

4.1.1 Mô tả nghiệp vụ hệ thống ¿- ¿55s Sx+SE+E2EvErxerxerxerxerrereee 37

4.1.3 Yêu cầu phi chức năng - ¿+ ++£++E+Ek£EEEEEEEEEEEtrErrkerrkerkerkeee 40

4.2.1 Sơ đồ mô tả Domain cscc+vtcExtttEkttittrkrirtrtrrrrrtrrrrrrriee 41

4.3 Mô tả sơ đồ Usecases ssscsssssssssssesesesesessecscscscsesesesesssessesesescacacacsessees 44

4.3.1 Authentication SeCase - ng, 46

4.3.3 Usecase quản lý hạt giỐng - ¿+ x+cx+EvEvEvrrrerxerxerxereerree 54

4.3.4 Usecase quản lý mảnh đất của nông trại -¿s+©5+2cs+cxcs+e: 56

4.4.8 Usecase quản lý dự án vận chuyền -2- 25+©s++xecsersersereee 694.4.9 Usecase quản lý dự án nhập/ xuất kho . ¿-¿-s+cs++-x+cx+ec++ 714.4.10 Usecase quản lý dự án sản XuẤt :-©5+2c+++cxvcxterxsrxerreeree 73

4.5.3 Sơ đồ Activity Thay đổi mật khẩu ¿ s¿¿©s++cx++xx+zseerxs 77

4.5.5 Sơ đồ Activity Tạo tài khoản -¿-sc©2+cxe2cxvrxerxeerxesrxerrerree 78

4.5.6 Sơ đồ Activity Tạo nông trại -¿- sc©5+x+2cx2rxerxterxesrxerrerree 79

Trang 7

4.5.7 4.5.8

4.5.18

Sơ đồ Activity Tạo tài khoản nhân viên -2-cs¿cs+cs+ecss 80

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

Sơ đồ Activity Tìm kiếm — sử dụng chung . -¿ z©5s=5+ 81

Sơ đồ Activity Tạo mới hạt giống và mảnh đất -s- 81

Sơ đồ Activity Cập nhật thông tin hạt giống và mảnh đất 82

Sơ đồ Activity Thay đôi thông tin nông trại -. -: 2 sc-5+ 5+ 82

Sơ đồ Activity Cập nhật thông tin dự án lô hàng . .: 83

Sơ đồ Activity Xem danh sách các dự án — sử dùng chung 84

Sơ đồ Activity Cập nhật trang thái dự án — sử dung chung 84

Sơ đồ Activity Cập nhật thông tin các giai đoạn dự án — sử dụng chung

85

CHUONG 5: THIET KE CƠ SỞ DU LIEU isesssssssssssessssssssssssssssessessessessesssssssssssess 86

5.1 Thiết kế sơ đồ lớp - << 5s 5s SsSs+s+eeeeteEeEsrsrsrststsrsrsrsrsrrsrsrke 865.2_ Danh sách các lớp trong sơ đỒ -s-«-s=s+sessssxsesessxszsesee 87

5.3.3 Bảng thông tin lớp hạt giống -¿ s+©c++2x+vcxerxesrxerreerxeerxee 90

5.3.6 Bảng thông tin lớp dự án của doanh nghiỆp - ‹ -< «<- 92

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

5.3.10 Bảng thông tin lớp dự án sản xuất -2 s+cx++cx+cx+zrxeerxe2 98

Trang 8

5.3.11 Bảng enum thông tin vai trò của tài khoản +-s<+<<se+sss+ 99

5.3.12 Bảng enum thông tin phòng ban/ công việc của nhân viên 100

5.3.13 Bảng enum thông tin trạng thái mảnh/ mẫu đắt - - 100

5.3.14 Bang enum thông tin trạng thai nông trại ‹- <<: 101 5.3.15 Bang enum thông tin trạng thái chung cho dự án 101

5.3.16 Bảng thông tin sản phâm 2-5 + ++2c++2ExvExterxesrxerrrerrrees 101 CHUONG 6: THIET KE GIAO DIỆN NGUOT DÙNG -. «- 104

6.1 Danh sách các màn hình chung - «+ «se essee 104 6.1.1 Man hình Đăng nhập - LOB1T - - 5 55+ s+ssvssereerserserrke 104 6.1.2 Màn hình Quên mật khẩu -©+c+++++trerrkerrrrkerrrrree 104 6.2_ Danh sách màn hình Tech Admin — Quản lý kỹ thuật 105

6.3 Danh sách màn hình Farmer — Nông dân theo nông trại 108

6.4 Danh sách màn hình System Admin — Quản lý doanh nghiệp, hệ thống 114 6.5 Danh sách màn hình Harvestor - Nhân viên kiểm tra thu hoạch 118

6.6 Danh sách màn hình nhân viên kiểm tra vận chuyền - 120

6.7 Danh sách màn hình nhân viên kiểm tra xuất/ nhập kho 121

6.8 Danh sách màn hình nhân viên kiểm tra sản xuất sản phẩm 123

CHƯƠNG 7: CAI DAT VA KIEM THỦỬ 22-2 2£ s2 ©ss£s£se+ss+ssesse 128 TL Cài đặt G0 SH Họ Họ 128 7.2_ Mục đích kiểm thử: ¿5-5 5sscs+eeeeseeeeerersrsesrsrsrsrsrsrrsree 128 7.3 Phương pháp kiểm thử:: - 5-5555 sssSSsSExsEesesrsrseseeersrse 128 7.4 Quy trình kiểm thử: - 5-5-5522 2S Ses£s£seseseseseseeeeerersrs 128 7.4.1 Xác định thông tin truy xuất nguồn gốc hang hoá: 128

Trang 9

7.4.2 Tạo các bộ testcase kiểm thử thủ công: s -e-ese- 1287.4.3 Kiểm tra tính bảo mật của hệ thống 5-5 5 << << ce<eseses 1297.4.4 Kiểm tra tính chính xác và đầy đủ của thông tin: 129

7.6 Kết quả kiểm thử: -5 55s ss+s£sSSsEsEsEEsesrsrsrsrsrsrrsree 129

CHƯƠNG 8: TONG KẾT 5< ©c<Sce‡teeEteEkeEkeEEkerkerkerrerrerkrrkrrrerrerrerrkee 130

8.2 Thuận lợi và khó khăn s- - < sssessxteeserstsrsessrsrsrsersrs 131

8.2.1 Thuận lợi ¿-+c2c++E+keEkSEEEEEEEEEEEkEEEkerkerkrsrkrrrrerrree 131

Trang 10

DANH MỤC HÌNH

Hình ảnh 2.9.2: Hình ảnh logo KoftÏ1n - - 5 2S 3+ *+EEveExeereeereeereerreerrss 27

Hình ảnh 3.2.2.1: Các Nút Geth trong Mang Ethereum Blockchain 29

Hình anh 3.2.2.2: Sơ đồ Kiến trúc của Nút trong Geth -5¿©5z2cs+cx+zxczsz 30

Hình 4.1.1: Hình ảnh mô tả luồng nghiệp vụ chính của hệ thống 38Hình 4.2.1 Hình anh mô ta domain model trong hệ thống . - 41Hình 4.3 Hình ảnh mô ta Usecase tong quat c ccecceccscsessessesssessesseesessessessesesseeseees 44

Hình 4.3.2.1 Hình ảnh Usecase Quản lý tài khoản cua Tech Admin 49 Hình 4.3.2.2 Hình anh Usecase Quản lý tài khoản cua System Admin 49

Trang 11

Hình 4.3.3 Hình ảnh Usecase Quản lý hạt giống nông trại - :- 2-5 54

Hình 4.3.5 Hình ảnh Usecase Quản lý các dự án của nông trại - - 59

Hình 4.4.5 Hình anh Usecase Quản lý các dự án của nông trại - - 61

Hình 4.4.7 Hình anh Usecase Quan lý các dự án thu hoạch - - «+ «+ 67

Hình 4.4.8 Hình anh Usecase Quản lý các dự án vận chuyên . - 69

Hình 4.4.9 Hình ảnh Usecase Quản lý các dự án nhập/ xuất kho 71

Hình 4.4.10 Hình ảnh Usecase Quản lý các dự án sản xuất -5- 5+ 73 Hình 4.5.1 Hình ảnh sơ đồ Activity đăng nhập - 2-52 2+ cxecxerxerxersxee 76 Hình 4.5.2 Hình ảnh sơ đồ Activity đăng xuất ¿ 5¿©2ecxzecxcsrxerxecree 71 Hình 4.5.3 Hình anh sơ đồ Activity thay đổi mật khẩu -5¿5¿=5+ 71 Hình 4.5.4 Hình anh sơ đồ Activity quên mật khẩu - 2 2-52 5 s2 s2 5+2 78 Hình 4.5.5 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer - 78

Hình 4.5.6 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer - 79

Hình 4.5.7 Hình ảnh sơ đồ Activity tạo tài khoản cho admin/ farmer - 79

Hình 4.5.8 Hình anh sơ đồ Activity tạo tài khoản nhân viên của System Admin 80

Hình 4.5.9 Hình ảnh sơ đồ Activity cập nhật bộ phan bong ban cho nhân vién 80

Hình 4.5.10 Hình ảnh sơ đồ Activity Tìm kiếm — dung chung - 81

Hình 4.5.11 Hình anh sơ đồ Activity Tao mới hạt giỗng và mảnh đất 81

Hình 4.5.12 Hình anh sơ đồ Activity Cập nhật thông tin hạt giống và mảnh dat 82

Hình 4.5.13 Hình anh sơ đồ Activity thay đổi thong tin nông trại 82

Hình 4.5.14 Hình anh sơ đồ Activity tạo mới du án cho lô hàng 83

Hình 4.5.15 Hình anh sơ đồ Activity cập nhật thông tin dự án lô hàng 83

Trang 12

Hình 4.5.16 Hình ảnh sơ đồ Activity xem danh sách các dự án (sử dụng chung) 84

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)

— 84

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ử

8101389101017 ‹- 85

Hình 6.1.1 Hình anh màn hình Đăng nhập - s55 55 +3 ‡+cxsssserseers 104

Hình 6.1.2 Hình ảnh màn hình Quên mật khâu - - 2 2s 2+s+£++Ee£xz£+ 104

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 105

Hình 6.2.2 Hình ảnh màn hình tạo tài khoản Hmớii - 55 5555 +++<s<+<+s<ss< 5+ 106Hình 6.2.3 Hình ảnh man hình chi tiết tài khoản user -::-55-=5+: 106

Hình 6.3.1 Hình anh màn hình quản lý nhân viên trong nông trai 109

Hình 6.3.5 Hình ảnh màn hình cập nhật thông tin chung của dự án 110

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 111Hình 6.3.7 Hình ảnh quản lý đất trong nông trại : ¿s52 111

Trang 13

Hình 6.3.10 Hình ảnh màn hình quản lý hạt giống trong nông trại - 113

Hình 6.3.11 Hình ảnh màn hình tạo mới hạt giỐng 2 s2 22+ 2+: 113 Hình 6.3.12 Hình ảnh màn hình chỉnh sửa thông tin hạt giống 114

Hình 6.4.1 Hình anh màn hình dashboard 5 55+ + £+skrseerseessereers 114 Hình 6.4.2 Hình anh màn hình màn quản ly danh sách dự án - 115

Hình 6.4.3 Hình anh màn hình tạo dự án - c5 52 2< ***+2S+sevrxsseeeeses 115 Hình 6.4.4 Hình anh màn hình chỉ tiết du án - ¿2-5 + s+E+E+EE+E+EeEzEzEerezsza 116 Hình 6.4.5 Hình ảnh màn hình thay đổi thông tin cơ bản dự án -. - 117

Hình 6.4.6 Hình ảnh màn hình quản lý nhân trong hệ thống -. - 117

Hình 6.4.7 Hình ảnh màn hình chỉ tiết thông tin nhân viên - +: 118

Hình 6.5.1 Hình anh màn hình danh sách các dự án của nhân viên 118

Hình 6.5.2 Hình ảnh màn hình chi tiết dự án kiểm tra thu hoạch - - 119

Hình 6.5.3 Hình ảnh màn hình chỉ tiết cập nhật thông tin kiểm tra thu hoạch 119

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 Hình 6.6.2 Hình ảnh màn hình chi tiết dự án kiêm tra vận chuyền 120

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 121

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 Hình 6.7.2 Hình anh màn hình chỉ tiết dy án kiểm tra xuất/ nhập kho 122 Hình 6.7.3 Hình ảnh màn hình chỉ tiết cập nhật thông tin kiểm tra xuất/ nhập kho

Trang 14

Hình 6.8.2 Hình ảnh màn hình chi tiết dự án kiểm tra sản xuất 123

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 - ¿5259k 1E 1911211211 211111111111 1111111111111 1.11111101111111 g1 grreu 124

Hình 6.8.4 Hình ảnh màn hình tạo sản phẩm cho dự án - 2-2 25c: 124

Hinh ảnh 6.9.5: Màn hình chính - - G G << < << EEEEEEEEEEEEESSS SE SE SE 555555555 1111k kkk 127

Trang 15

DANH MỤC BANG

Bảng 4.3 Bảng danh sách các tác nhân trong sơ đồ Usecases - 45Bảng 5.2 Bang mô tả chỉ tiết các thực thỂ 2-2-5 E2E£2EE£EEvEEerEErrkerkerkerex 88

Bang 5.3.9 Bang mô tả thông tin lớp dự án xuất/ nhập kho -¿ 97

Bang 5.3.10 Bảng mô tả thông tin lớp du án sản xuất 2 ¿55s s+zszss2 99

Bảng 5.3.12 Bang enum thông tin phòng ban/ công việc của nhân viên 100

Bang 5.3.15 Bảng enum thông tin trạng thai chung cho dự án - 101

Trang 16

DANH MỤC TU VIET TAT

API Application Programming Interface

AWS Amazon Web Service

UI User Interface HTTP HyperText Transfer Protocol

Trang 17

TÓM TAT 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 pham

đượ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 pham 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 hoá càngđược vì đây là van dé 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 hoá 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 bac 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 dan phổ biến Cộng với việc phát triển của các ứng dung Web va Mobile ngàycàng dễ dang, 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 vao thực tế.

Mặc khác.dự trên tính toá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ệ thong 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 quá trình sản xuất

- Cung cấp thông tin về quá trình sản xuất, thông tin chỉ tiết của sản phẩm

Trang 18

- Lưu vết và truy xuất thông tin sản pham, thông tin lô hàng, thông tin của từngquy 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.

Trang 19

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HÒA XÃ HOI CHỦ NGHĨA VIET NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

DE CƯƠNG CHI TIẾT

TÊN DE TÀI: PHÁT TRIÊN UNG DỤNG TRUY XUẤT NGUON GOC 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 - 19521505Trầ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 san) đ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 doanhnghiệ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ínnhiệ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ôngtin nguồn gốc hàng hoá sẽ đảm bảo tính minh bạch, sự bảo mật và hiện đại

Trang 20

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ụngcô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 dén gân với người tiêu dùng hon.

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 ứngdụng blockchain trong quản lý hàng hoá, lưu trữ thông tin và truy xuấtnguồn gốc hang hoá Tìm hiểu và ứng dụng những phương pháp dé khắcphụ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, bao mật

và dê sử dụng Hệ thông sẽ bao gôm các nhân tô chính sau:

CSDL người dùng (User), cấp quyền sử dụng hệ thống cho doanh

nghiệp.

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ị dit liệu các

phòng ban.

Nhân viên các phòng ban: chỉnh sửa, cập nhật thông tin phòng ban

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.

Người dùng: Truy cập ứng dụng truy xuất nguồn gốc hàng hoá

Hệ thống CSDL phân tán: lưu trữ và minh bạch thông tin lô hàngbằ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.

Chỉ 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 => Hat cà phê, giúp theo dõiquy trình hạt cà phê từ khi gieo trồng đến lúc thành phẩm tung ra thị trường

Trang 21

Quy trình truy xuất sẽ bao gồm các bước chính như sau:

e Nông trại: gieo trồng cây giống, chăm sóc, thu hoạch và thong kê

thành pham

e 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 tri viên hệ thống:

e Tạo, chỉnh sửa, xóa thông tin tài khoản User

e Tao, xóa nông trai trong hệ thống

Quản trị viên doanh nghiệp:

e Tạo, chỉnh sửa, xóa tài khoản nhân viên trong hệ thống

e Cấp phát quyền (phòng ban) cho nhân viên

e Tạo mới lô hang

e Chọn nông trại cung ứng

e Phân bố nhân viên thực hiện các giai đoạn trong lô hàng

e_ Tìm kiếm lô hàng

e Kiểm tra trạng thái lô hàng

e Truy xuất thông tin của lô hàng khi hoàn thànhChủ nông trại

e Cap nhật thông tin, trạng thái hoạt động của nông trại

e Thêm, xóa, sửa thông tin các hạt giống

e Thêm, xóa, sửa các mảnh (mẫu) đất có trong nông trai

e Tao các dự án trồng trọt của nông trại

e Cap nhật tién trinh, trang thái va thông tin của dự án

Nhân viên phòng ban

e Kiểm tra danh sách các dự án được phân công

e Thực hiện kiểm tra, nhập liệu thông tin cho dự án

Trang 22

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 hoá, 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

Cong cu quan ly va hỗ trợ: Github, Figma, Notion, Draw.io,

MetaMask

6 Yéu cau két qua:

e Yêu cau chức năng: Dam bảo day đủ các tính năng đã được đặt ra

e Yêu cầu giao diện: phủ hop, dé tương tác và sử dung

e Yêu câu nâng cap: dê dàng mở rộng, nâng cap và bao trì hệ thông

Trang 23

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

1 6/2 — 12/2/2023 (1) Tim hiéu cac céng nghé lién quan

(1 tuan) cho dé tai

2 13/2 — 26/2/2023 (2) Phan tich yéu cau hé théng

(2 tuan) (3) Xây dựng, thiet kê CSDL

(4) Vẽ sơ đồ Usecase, sơ đồ Activity,27/2 5/3/2023 sơ đồ Sequence cho các chức năng

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 dung UI và xử ly 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 cua role Quan tri

viên hệ thông(9) Thiết kế và triển khai Front-end

cho Quan tri viên hệ thong

(10) Triển khai các API cho các

20/3 — 9/4/2023 role, chức năng còn lại trong hệ

Trang 24

(13) Tích hợp Smart Contract,

tương tác với Front-end

(14) Kiểm tra sửa lỗi cho hệ

24/4 — 30/4/2023 thống

(1 tuần) (15) Thử nghém va Deploy hệ

thống

g 1/5 — 13/5/2023 (16) Hoàn thiện các chức năng

khác, bô sung (nêu có) của đê tải

9 14/5 — 4/6/2023 (17) Hoan thién bao cao va trinh

bay với giảng viên hướng dẫn

Sinh viên thực hiện:

Nguyễn Thành Hiếu: (1), (2), (3), (4), (5), (7), (9), (11), (13), (14), (15), (16) và (17)

Trần Quốc Khánh: (1), (2), (3), (4), (5), (6), (8), (10), (12), (14), (15), (16) và (17)

Ghỉ chú: Công việc sẽ được cả 2 trao đổi và có sự thay đổi hợp lý nhất trong

suốt quá trình thực hiện khóa luận dé cùng hiệu rõ về dé tài

Tp.Hồ Chí Minh, ngày tháng 7 năm 2023

Trang 25

CHUONG 1: MỞ DAU

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

Trong thời điểm công nghệ phát triển như hiện tại, việc theo dõi nguồn gốc

sản phẩm là một yếu tố quan trọng và cần thiết Việc này giúp dam bao rang các san

phẩm được sản xuất và tiêu thụ là an toàn và đáng tin cậy Thông tin này cũng giúpcác doanh nghiệp và cơ quan quản lý có thé phát hiện các van đề về đảm bảo sản

phẩm, tăng cường niềm tin của khách hàng và đặc biệt là bảo vệ người tiêu dùng

Ngoài ra, việc theo dõi nguồn gốc sản phẩm cũng giúp giảm thiểu các nguy cơ

về an toàn thực phẩm và thảm họa môi trường Các doanh nghiệp, nhà sản xuất và

cơ quan quản lý có thé dam bảo rằng các sản phâm của họ không bị nhiễm độc hoặc

gây ảnh hưởng tới sức khoẻ con người, và có thê truy vết được trong trường hợp

xảy ra tai nạn hoặc sự cố.

Từ những tiện ích đã nêu ở trên, chúng em quyết định chọn đề tài với ứng dụngmang đến giải pháp quản lý cho các doanh nghiệp muốn kiểm tra, quản lý và truy

xuất thông tin của một sản phâm, cụ thê ở đây là hạt Cà phê (Coffee)

Ung dụng là một giải pháp cho các doanh nghiệp có thé quản ly, theo đõi các

giai đoạn của 1 lô nông sản cà phê từ khi được gieo trồng tại nông trại với các số

liệu thô, nguyên liệu ban đầu; đến các giai đoạn kiểm tra số lượng, vận chuyên,

nhập — xuất kho bãi và chế biến thành phẩm Điểm đặc biệt, ứng dụng được tích

hop công nghệ Blockchain với việc sử dụng SmartContract trong việc lưu trữ thông

tin các bước trong 1 lô hang sản phẩm, tăng độ tin cậy cho việc kiểm tra thông tin

Trang 26

Cung cấp một ứng dụng đa nền tảng có thể giúp doanh nghiệp quản lý quy

trình sản xuất, truy xuất nguồn gốc, quản lý thông tin từng bước giai đoạn

Hỗ trợ nhân lực trao đồi, kiểm tra từng quy trình được phép truy cập, truy

xuất lịch sử, thông tin thay đổi của quy trình, chỉnh sửa b6 sung thông tin, trạng tháicho các bước trong quy trình đó.

1.2.2 Chủ quan

Nhóm chúng em mong muốn phát triển và học hỏi về các công nghệ có liênquan được sử dụng trong đề tài như Android, Website và đặc biệt là các công nghệmới hiện nay như Blockchain, SmartContract Thông qua đề tài và sự dẫn dắt của

giảng viên hướng dẫn dé tìm hiểu, nghiên cứu nhằm đạt được sự tổng quát hóa,

chuyên sâu hơn về các công nghệ cũng như vân đê được đặt ra trong đê tài.

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

1.3.1 Các công nghệ nghiên cứu:

- _ Thiết kế hệ thống:

o MVC

o Kết nối và trao đối giữa website, android application đền database

thông qua RESTful API

- D6i với Database: Mongodb Atlas, AWS EC2

- Đối với Website:

Trang 27

o Alchemy, Polygon Testnet

o Meta mask

o Goethereum, PoA, Private blockchain

- Khac

o Lưu trữ ảnh với Cloudinary API

o Trao đổi mail qua NodeMailer, SendGrid API

1.3.2 Đối tượng sử dung đề tai hướng đến:

Tắt cả doanh nghiệp trong ngành công nghiệp thực phẩm, chăn nuôi, đặc biệt

là ngành trồng trọt nông sản, hoặc những doanh nghiệp có nhu cau truy xuất nguồngốc hàng hoá, minh bạch thông tin sản pham Đối tượng mà nhóm hướng tới chính

là các doanh nghiệp sản xuât sản phâm từ café và nông trại.

Người tiêu dùng có nhu câu tìm hiéu vê thông tin sản phâm ma mình đã lựa

chọn, có mong muôn truy xuât nguôn gôc hang hoá, tìm hiéu về thông tin, cân tính minh bạch và an toàn của sản phâm.

1.4 Phạm vi nghiên cứu

1.4.1 Pham vi môi trường:

Website trên máy tính cá nhân và Android trên Mobile

1.4.2 Pham vi chức nang:

- _ Đối với ứng dụng (các tính năng cơ bản được hỗ trợ ở cả hai phiên ban

website và mobile android):

o Cung cấp thông tin chung của tat cả những dự án mà nhân viên trong

hệ thống tham gia, thông tin từng bước trong quy trình

o_ Xây dựng các tính năng cho việc quản lý dự án bao gồm tạo mới, chỉnh

sửa, cập nhật thông tin dự án, cấp quyên truy cập cho nhân viên các bộphan, cập nhật trạng thái của dự án và thống kê trạng thái của những dự

án mà người dùng được phép truy cập.

11

Trang 28

Cung cấp chức năng cho các nhân sự nội bộ cho doanh nghiệp (doanh

nghiệp tự đăng ký tài khoản cho nhân viên) bao gồm tạo, cập nhật, kích

hoạt, vô hiệu hoá, thong kê danh sách nhân viên va chỉnh sửa thông tin,

phân quyền cho nhân viên

Cung cấp chức năng lưu vết trên Blockchain mỗi khi hệ thống phát

sinh ra những giao dịch (những giao dịch xảy ra khi người dùng thay

đổi thông tin của dự án trên hệ thống)

Cung cấp tính năng quản lý cho đối tác của doanh nghiệp (tính năng

cho phép đối tác của doanh nghiệp tác động lên thông tin dự án)

Cung cấp tính năng truy xuất nguồn gốc hàng hoá cho người dùng cuối(người mua sản phẩm từ phía doanh nghiệp)

12

Trang 29

CHƯƠNG 2: KIEN THỨC NEN TANG

2.1 ReactJS

2.1.1 Giới thiệu

Hình 2.1.1: Hình anh ReactJS

ReactJS là một thư viện ma nguồn mở, được phat triển bởi Facebook ReactJS

cung cấp khả năng xây dựng các thành phần UI (User Interface) động và linh hoạt

Thư viện này cho phép khai thác lại các thành phần đã được xây dựng trước đó để

dé dàng tạo ra các ứng dụng phức tap ReactJS được phát triển dựa trên nguyên tắc

"One-way data binding", tức là đữ liệu luôn đi từ cha đến con và không thê thay đổitrực tiếp từ con Điều này giúp tăng tính nhất quán và dé dàng xử lý khi ứng dụng

ngảy cảng phức tạp.

Ngoài ra, ReactJS còn hỗ trợ các công nghệ cũng như thư viện phổ biến như

Redux, React Router, Axios, GraphQL, giúp tao ra những ứng dụng mạnh mẽ và

dễ bảo trì Với những ưu điểm trên, ReactJS được sử dụng phổ biến và rộng rãi

trong các ứng dụng web và mobile, từ các website nhỏ đến các ứng dụng lớn như

Facebook, Instagram, Airbnb, ReactJS là một công nghệ phù hợp và tiện lợi với

các nhà phát triển web và mobile

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

Trang 30

tính toán xem sự khác biệt giữa object Virtual DOM và cây DOM thật, từ đó tối ưu

hoá cho việc render lại cây DOM thật.

React cũng sử dụng cơ chế One-way data binding (luồng dữ liệu một chiều), trong

đó dữ liệu được truyền từ phần tử cha đến phần tử con thông qua props Cùng vớiluồng dữ liệu đơn giản này giúp quản lý và sửa lỗi một cách tiện lợi hơn

Components:

React là một framework được xây dựng bao quanh các component, thay vi sửdụng các template như các framework khác Với React, chúng ta có thé xây dựng

trang web bang cách sử dụng những thành phan nhỏ gọi là "component." Các

component có thể được sử dụng lại ở nhiều nơi với các thuộc tính và trạng thái khácnhau Từng component cũng có thê chứa các component khác bên trong nó.

Từng component trong React đều có một trạng thái riêng, có thé được thay đồi,

và React sẽ tự động cập nhật component dựa trên các thay đôi này trong trạng thái

Ban chat, moi thứ trong React đều là component, giúp bảo trì mã code dé dang khi

làm việc với các dự án lớn.

2.1.3 Giới thiệu Ant Design

Hình 2.1.3: Hình anh Ant Design

Ant là một bộ sưu tập các thành phần của React, được xây dựng theo chuẩn thiết

kế của Ant UED Team Tương tự như chuẩn Material Design, Ant cung cap đa dạngcác thành phan thông dụng trong ứng dụng web hiện đại như Layout, Button, Icon,DatePicker, và nhiều hơn nữa Ngoài ra, Ant còn có những thành phần độc đáo nhưLocaleProvider, cho phép người dùng thay đôi ngôn ngữ trên toàn ứng dụng

Có thé coi Ant Design cho React là tập hợp của hau hết các thư viện về React

14

Trang 31

Node.js có một sô đặc diém quan trọng:

Mô hình không đồng bộ: Node.js được xây dựng trên cơ sở mô hình sựkiện (Event-Driven) và bất đồng bộ (asynchronous), cho phép một lúc xử

lý nhiều yêu cầu mà không chờ đợi các hoạt động đồng bộ hoàn thành.Điều này giúp tăng hiệu suất của ứng dụng trong khi duy trì khả năng phảnhồi cao

Mã chung giữa phía máy khách và phía máy chủ: NodeJS cho phép viết

mã JavaScript trên cả phía máy chủ (server-side) và phía máy khách

(client-side), giúp đơn giản việc chia sẻ code và logic giữa các thành phần

của ứng dụng web.

Hệ sinh thái mở rộng: Node.Js có một cộng đồng phát triển mạnh mẽ và hệsinh thái mở rộng đa dạng, với rất nhiều module và thư viện thông qua npm(Node Package Manager) Điều này giúp phát triển ứng dụng nhanh chóng

và tiết kiệm thời gian bang cách sử dụng các thư viện tái sử dụng đã được

cung cấp sẵn

Xử lý đa luồng: Mặc dù JavaScript là ngôn ngữ đơn luồng, Node.js sử dung

mô hình xử lý đa luồng bằng cách sử dụng các tiến trình nhẹ (lightweightprocesses) gọi là "tiêu trình" (threads) dé xử lý đồng thời những yêu cau

15

Trang 32

Điêu này cho phép Node.Js xử lý các tác vụ cùng một lúc và tôi ưu hóa sự

sử dụng tài nguyên hệ thống

2.2.2 Lý do chọn NodeJS

Non-blocking và Asynchronous: NodeJS sử dụng co chế không chặn

(non-blocking) và bất đồng bộ (asynchronous), cho phép xử lý đồng thời hàng nghìn yêu

cầu mà không bị chậm lại Điều này làm cho NodeJS rất hiệu quả trong việc xử lý

dự án có yêu cầu cao về thời gian thực thi

Community va Ecosystem: Node.js có cộng đồng lớn và phong phú, với hàng ngànthư viện và module có sẵn Các thư viện này giúp lập trình viên nhanh chóng triển

khai các tính năng mở rộng và giảm thiểu thời gian phát triển.

Scalability: NodeJS cho phép mở rộng dễ dàng nhờ tính chat non-blocking và bat

đồng bộ Có thể dễ dàng mở rộng ứng dụng khi lượng truy cập tăng lên mà không

cân nhiêu thay đôi câu trúc.

2.3 Express JS — Framework của Node JS

2.3.1 Giới thiệu Express JS

Express ils

Hình 2.3.1: Hình anh Express JS

Express.js là một framework web phía may chu (server-side) dựa trên Node.Js.

Framework cung cấp cách tiếp cận dé dang và mạnh mẽ dé xây dựng ứng dụng web

và API Express.js được coi là một trong những framework web phổ biến nhất và

được sử dụng rộng rãi trong cộng đồng phát trién Node.js

Các lợi ích và đặc điêm chính của Express.js như sau:

16

Trang 33

Siêu nhẹ và linh hoạt: Express.js là một framework nhẹ, không có quá nhiềuquy định Nó cung cấp một số tính năng cơ bản và hỗ trợ các middleware để

xử lý các yêu cầu và phản hồi

Đơn giản hóa định tuyến: Express.js giúp xác định các tuyến đường (routes)

cho ứng dụng web Với các phương thức xử lý các yêu cầu HTTP như

POST, DELETE , GET, PUT, Điều này giúp xây dựng các API và các

trang web đa trang dễ dàng hơn.

Middleware mạnh mẽ: ExpressJS sử dụng middleware xử lý các yêu cầu

trước khi đến được các xử lý cuối cùng Express.js đi kèm với một số

middleware được tích hợp san và cộng đồng phát triển cũng cung cấp nhiều

middleware mạnh mẽ và hữu ích.

Cộng động đông dao: ExpressJS có một cộng đồng phát triển rộng lớn và

tích cực Cộng đồng cung cấp nhiều module, gói mở rộng và hướng dẫn chitiết giúp xây dựng các website phức tạp Có thé dễ dàng tìm thấy rất nhiều tàiliệu, thư viện, tham khảo: ví dụ và hỗ trợ từ cộng đồng này

Tích hợp dễ dàng: Express.js dễ dàng tích hợp với các công nghệ khác và thư

viện bên thứ ba, với các thư viện như MongoDB, MySQL, Passport (dé xácthực và quản lý đăng nhập), Socket.io (đề thực hiện giao tiếp thời gian thực),

và nhiêu hơn nữa.

ExpressJS là một trong các công cụ mạnh mẽ dé xây dựng và phát triển ứng

dụng web sử dụng Node.js Đi cùng với tính linh hoạt, đơn giản và hiệu suất cao,

ExpressJS là phương pháp phổ biến trong việc xây dựng, phát triển các ứng dụng

web và API phía server.

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

NodeJS, ExpressJS được áp dụng dé xây dựng toàn bộ Back-end cho hệ thống

giúp tăng tốc độ load dữ liệu NodeJS, ExpressJS cung cấp những thư viện cần thiếttrong công đoạn triển khai và phát triển hệ thống NodeJS, ExpressJS va ReactJS là

sự kết hợp vô cùng tốt để phát triển hệ thống một cách tốt nhất

17

Trang 34

2.4 Smart Contract và Ethereum

2.4.1 Tổng quan về Ethereum

>

VW ethereum

Hình 2.4.1: Hình anh Ethereum

Ethereum là một nền tảng điện toán phân tán, công cộng và mã nguồn mở dựatrên công nghệ Blockchain Điểm nổi bật của nền tảng này là tính năng hợp đồngthông minh (smart contract), giúp thuận tiện cho các thỏa thuận hợp đồng trực tuyến

Đề thực thi các kịch ban này, Ethereum sử dụng một máy ảo hoàn toàn Turing đượcgọi là Ethereum Virtual Machine (EVM), mà có thể chạy các kịch bản trên một mạnglưới máy tính Ethereum.

Ngoài ra, Ethereum cung cấp một đồng tiền mã hóa có tên là "Ether", được sửdụng để chuyển đôi giữa các tài khoản và trả công cho các thợ đào thực hiện tínhtoán Đề giới hạn giao dịch rác và phân phối nguồn lực trên mạng, Ethereum sử dụngmột cơ chế giá giao dịch nội bộ gọi là "Gas".Các điểm chính của Ethereum:

e Hợp đồng thông minh (Smart Contract): Ethereum cho phép tạo ra và thực thi

các Smart Contract, và tự động thực hiện theo các quy chuẩn và điều kiện đãđược định trước Các hợp đồng thông minh giúp khả năng thực thi và đảm bảotính vẹn toàn không thé chối cãi trong các giao dịch

e Ngôn ngữ lập trình Solidity: Ethereum sử dụng ngôn ngữ Solidity dé viết các

hợp đồng thông minh Solidity là một ngôn ngữ lập trình chuyên dụng choEthereum, cho phép các nhà phát triển xây dựng các ứng dụng và hợp đồngthông minh phức tạp trên nền tảng Ethereum

e Máy ảo Ethereum (Ethereum Virtual Machine - EVM): EVM là một môi

trường thực thi các hợp đồng thông minh trên Ethereum Nó cho phép các hợp

18

Trang 35

đồng thông minh chạy độc lập và đáng tin cậy trên mọi nút trong mạng lưới

Ethereum.

e ERC-20 và chuẩn token thông minh: Ethereum đã tạo ra chuan ERC-20, chuẩn

token thông minh phô biến nhất trong việc phát hành và quản lý các token trênblockchain Ethereum Chuẩn này đã mở ra cánh cửa cho việc phát triển nền

tảng ICO (Inttial Coin Offering) và đóng vai trò quan trọng trong việc tạo ra các dự án token.

e Mạng lưới phân tán: Tương tự như Bitcoin, Ethereum cũng sử dụng mang lưới

phân tán để lưu trữ và quản lý thông tin Các giao dịch và hợp đồng thôngminh được xác nhận và ghi lại trên nhiều nút trong mạng lưới Ethereum

e Đang dang cộng đồng: Ethereum hiện tại có 1 cộng đồng phát triển năng động,

đông đảo và đã đóng góp vào việc phát trién các ứng dung và dự án đa dangtrên nền tảng Ethereum

Ethereum đã mở ra một thế giới mới của các ứng dụng phi tập trung và hợp đồngthông minh Nó cung cấp một cơ sở hạ tầng mạnh mẽ cho việc xây dựng các dịch vụtài chính, chuỗi cung ứng, trò chơi, ứng dụng phi tập trung và nhiều lĩnh vực khác

trên blockchain.

2.4.2 Tổng quan về Smart Contract

Smart Contract là một khái niệm quan trọng trong lĩnh vực blockchain và công

nghệ tiền điện tử Đó là các chương trình tự thực thi được viết bằng ngôn ngữ lập

trình (như Solidity trong Ethereum) và lưu trữ trên blockchain Smart Contract là

công cụ quản lý, thực hiện, thực thi các giao dịch một cách tự động mà không cần

sự can thiệp của bên thứ ba.

19

Trang 36

Hình 2.4.2: Hình ảnh về định nghĩa Smart ContractCác Smart Contract hoạt động dựa trên các điều kiện đã được định sẵn và sẽ tự

động thực hiện hành động khi điều kiện đó được đáp ứng Ví dụ, một Smart Contract

có thê được sử dụng đề thực hiện một giao dịch tài chính mà không cần sự can thiệp

của ngân hàng trung gian Các giao dịch trong Smart Contract thường được mã hóa

và bảo mật bởi cơ chê mã hóa blockchain.

Smart Contract đóng vai trò quan trọng trong việc tạo ra các ứng dụng phi tập

trung (Decentralized Applications - DApps) trên blockchain Chúng cung cấp tính

minh bạch, đáng tin cậy và an toàn, giúp loại bỏ sự tin cậy vào bên thứ ba và giảm

thiêu rủi ro gian lận và gian lận

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

Blockchain có vai trò quan trọng và ý nghĩa lớn trong việc áp dụng vào van dé

truy xuất thông tin hàng hóa Sau đây là các điểm mạnh của Blockchain trong lĩnh

vực này:

¢ Tính minh bạch và đáng tin cậy: Blockchain cung cấp một môi trường minh

bạch và đáng tin cậy cho việc truy vết thông tin Thông tin về nguồn gốc, quá

trình sản xuất, vận chuyền và lưu trữ của hàng hóa có thé được ghi lại và lưutrữ trong các khối trong Blockchain Mọi người có thể kiểm tra và xác minh

thông tin này một cách dễ dàng, giúp tăng cường sự tin tưởng và minh bạch

trong chuỗi kiểm tra lô hang (logistic)

20

Trang 37

e Tinh không thay đổi và toàn ven: Dữ liệu trên Blockchain không thé bị thay

đổi hoặc xóa mà không làm thay đổi các khối tiếp theo Điều này đảm bảo tínhtoàn vẹn của thông tin hàng hóa trong suốt quá trình truy xuất Bat kỳ thay đổihay chỉnh sửa nào cũng sẽ được ghi lại và có thé được theo dõi

e Truy xuất nhanh và chính xác: Blockchain cho phép truy xuất nhanh và

chính xác thông tin hàng hóa Nhờ vào việc liên kết các thông tin lưu trữ trongcác khối, người dùng có thé truy xuất các về quy trình, nguồn gốc và lịch trìnhvận chuyển của hàng hóa một cách hoàn toàn dễ dàng, chính xác và nhanh

chóng.

e Bảo mật và phân quyền: Blockchain sử dung mã hóa mật mã và mạng lưới

phân tán để đảm bảo tính bảo mật và phân quyền cho thông tin hàng hóa Dữliệu chỉ có thể được truy cập bằng cách sử dụng các khóa mã hóa và quyềntruy cập phù hợp Điều này giúp bảo vệ thông tin quan trọng và ngăn chặn sự

xâm nhập trái phép.

e Quản lý chuỗi cung ứng: Blockchain cung cấp một công cụ hiệu qua dé quản

lý chuỗi cung ứng của hàng hóa Thông tin liên quan đến nguồn gốc, vậnchuyên, lưu trữ và các bước xử lý khác có thê được ghi lại và theo dõi trongBlockchain Điều này giúp giảm thiểu rủi ro gian lận, giả mạo và tăng độ tin

cậy và tính minh bạch trong quản lý chuỗi cung ứng

Tóm lại, áp dụng Blockchain vào vấn đề truy xuất thông tin hàng hóa mang lạinhiều lợi ích về minh bạch, toàn vẹn, bảo mật và kiểm soát chuỗi cung ứng.Blockchain có khả năng cải thiện sự tin tưởng và hiệu quả của việc truy xuất thông

tin hàng hóa trong các ngành công nghiệp khác nhau.

21

Trang 38

2.5 Firebase

2.5.1 Giới thiệu về Firebase

» Firebase

Hinh 2.5.1: Hinh anh logo Firebase

Firebase là một nên tang phát triển ứng dụng di động va web của Google, cungcấp một loạt các dich vụ đám mây dé xây dựng, triển khai và quảng cáo ứng dụng

Firebase giúp lập trình viên tập trung vào việc xây dựng chức năng của ứng dụng ma

không cần quan tâm đến hạ tầng CSDL hoặc quản lý máy chủ.

Firebase cung cấp các dịch vụ cho việc các ứng dụng Real-time, Authenticate,

Cloud Messaging

2.5.2 Áp dụng Firebase Cloud Messaging (FCM)

Firebase Cloud Messaging (FCM) là dich vu của Firebase cho phép gui thông

báo đám may (push notification) từ máy chủ đến các thiết bi di động, cung cấp khanăng kết nối và tương tác với người ding một cách hiệu quả FCM hỗ trợ các thiết bịchạy trên nền tảng Android, iOS và cả web

22

Trang 39

2.6 Go Ethereum

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

Hình 2.6.1: Hình anh logo Go-Ethereum

Go Ethereum (Geth) là một phần mềm Ethereum client được phô biến sử

dụng trên Ethereum Blockchain bên cạnh Parity Geth với mục đích quản lý trạng

thái và xử lý những giao dịch (Transaction) và hỗ trợ máy ảo Ethereum (EVM —

Ethereum Virtual Machine) Tuy nhiên Geth không thực thi các tính năng như xây

dựng, truyền thông tin giữa các khối (Block) hay xử lý những logic đồng thuận

(consensus logic), ma thay vào đó client thực thi (consensus client) sẽ thực thi

những chức tính này.

Geth có nhiều tính năng quan trọng Đầu tiên, nó đóng vai trò là một nútmạng (Network Node), kết nối với các nút khác trên mạng Ethereum Nút này gửi

và nhận các giao dịch (Transaction), khối (Block) và thông tin khác giữa các thành

viên của mạng Bên cạnh đó, Geth tạo ra một giao diện console cung cấp cho ngườidùng một cách dé tương tác với blockchain Qua giao diện này, người dùng có thégửi các giao dịch (Transaction), triển khai Smart Contract và truy vấn dữ liệu từ

blockchain Ethereum.

Ngoài ra, cùng với Solidity kết hợp cùng Geth dé phát trién các ứng dụng phân cấp

trên blockchain Ethereum.

23

Trang 40

2.6.2 Áp dụng vào đề tai

Go Ethereum (Geth) được sử dụng xây dựng PoA (Proof-of-authority) PrivateBlockchain Qua đó đảm bảo tính minh bạch vì cơ chế của PoA chỉ cho phép những

người được cấp quyền mới có thé truy cập vào blockchain private network, nhằm

đảm bảo không có bắt kì gian luận nào có thể xảy ra trong quá trình thực thi

xây dựng, kiểm thử và trién khai các ứng dụng blockchain Công nghệ mang đến

một bộ hỗ trợ cho việc phát triển thông qua việc hỗ trợ việc viết các smart contract,kiểm thử các contract, quan ly tài khoản và triển khai các ứng dụng trên mạng

Ethereum Truffle cũng cung cấp các môi trường mô phỏng (development

environment) va tao ra các công cụ giúp tăng độ tin cậy và an toan cho các ứng

dụng blockchain Nó được sử dụng rộng rãi trong cộng đồng phát triển dApps

(Decentralized Applications).

2.7.2 Áp dụng vào dé tai

Truffle được sử dung dé xây dựng, kiểm thử và triển khai smart contract lên

Ethereum Blockchain Network (Private Network và Public Network)

24

Ngày đăng: 02/10/2024, 03:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN