1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ tài xây DỰNG WEBSITE MUA bán LINH KIỆN điện tử sử DỤNG CÔNG NGHỆ BLOCKCHAIN

49 10 0

Đ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 đề Đề Tài Xây Dựng Website Mua Bán Linh Kiện Điện Tử Sử Dụng Công Nghệ Blockchain
Tác giả Phạm Gia Huy, Nguyễn Đăng Anh Tú
Người hướng dẫn ThS. Nguyễn Ngọc Huyền Trân
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt - Hàn
Chuyên ngành Khoa Học Máy Tính
Thể loại Đồ án cơ sở
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 49
Dung lượng 2,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương I. CƠ SỞ LÝ THUYẾT (13)
    • 1.1. Unifield Modeling Language – UML (13)
    • 1.2. Blockchain (13)
      • 1.2.1. Các đặc tính của blockchain (14)
      • 1.2.2. Nguyên lý hoạt động và ứng dụng của Blockchain (18)
    • 1.3. Smart contract & Solidity (19)
      • 1.3.1. Smart contract (19)
      • 1.3.2. Solidity (23)
    • 1.4. React.js (23)
      • 1.4.1. ReactJS là gì (24)
      • 1.4.2. JSX13 1.4.3. Virtual DOM (25)
      • 1.4.4. Ưu điểm của ReactJS (27)
    • 1.5. Web 3.0 (28)
      • 1.5.1. Web 3.0 là gì? (28)
      • 1.5.2. Đặc điểm chính của Web 3.0 (29)
      • 1.5.3. Web 3.0 hoạt động như thế nào? (29)
      • 1.5.4. Ưu và nhược điểm của Web 3.0 (30)
    • 1.6. Metamask (30)
    • 1.7. NodeJS (31)
      • 1.7.1 Node.js hoạt động như thế nào? (32)
    • 1.8. Hardhat (32)
      • 1.8.1 Cài đặt (33)
  • Chương II. PHÂN TÍCH VÀ THIẾT KẾ (36)
    • 2.1. Yêu cầu bài toán, khảo sát nghiệp vụ (36)
    • 2.2. Đặc tả UseCase (37)
    • 2.3. Biểu đồ UC chi tiết (39)
    • 2.4. Biểu đồ hoạt động (42)
    • 2.5. Biểu đồ trình tự (45)
  • Chương III. TRIỂN KHAI XÂY DỰNG (0)
    • 3.1. Màn hình chính (0)
    • 3.2. Đăng nhập (0)
    • 3.3. Trang danh sách sản phẩm được bán (0)
    • 3.4. Trang danh sách mua (0)
    • 3.5. Trang mua bán và thanh toán (0)
    • 3.6. Trang thêm Linh kiện (0)
    • 3.7. Thu phí khi đăng sản phẩm (0)
  • Kết Luận (48)
  • TÀI LIỆU THAM KHẢO (49)

Nội dung

Hiện nay công nghệ BlockChain đang phát triển mạnh mẽ trên mọi lĩnh vực.Blockchain đã và đang đem lại hiệu quả thiết thực do vậy nó được áp dụng rất nhiềuTrên cơ sở các kiến thức được họ

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT - HÀN

Khoa Khoa Học Máy Tính

ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI: XÂY DỰNG WEBSITE MUA BÁN LINH KIỆN ĐIỆN TỬ SỬ DỤNG

CÔNG NGHỆ BLOCKCHAIN

Sinh viên thực hiện : PHẠM GIA HUY

NGUYỄN ĐĂNG ANH TÚ Giảng viên hướng dẫn: THS.NGUYỄN NGỌC HUYỀN TRÂN

Lớp : 19IT3

Trang 2

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

Trang 3

Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến các thầy cô KhoaKhoa học máy tính đã dạy chúng em những kiến thức hay, và các thầy cô trong bộmôn chuyên đề (4) đã truyền đạt những kiến thức chuyên ngành bổ ích cũng như các

kỹ năng trong cuộc sống

Đặc biệt chúng em xin cảm ơn sâu sắc tới giáo viên hướng dẫn THS.NGUYỄNNGỌC HUYỀN TRÂN đã tận tình hướng dẫn, góp ý theo sát giúp chúng em có thểhoàn thành đồ án tốt nhất

Chúng em xin cảm ơn tới gia đình đã luôn động viên tinh thần, tạo động lựccho chúng em trong quá trình thực hiện đồ án Cảm ơn tất cả bạn bè, tập thể lớp 19IT3

đã cùng chia sẻ, góp ý trong quá trình thực hiện

Xin chân thành cảm ơn!

Trang 4

MỞ ĐẦU

1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài

Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giai đoạnlịch sử nó mang một hình thức đặc thù riêng Trước kia, khi các công cụ hỗ trợ côngviệc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dướihình thức mua bán trực tiếp Từ khi khoa học công nghệ phát triển, nó đã tạo ra pháttriển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến Hình thức muabán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với được nhiều kháchhàng, còn khách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiếtkiệm được thời gian Và giờ đây giao dịch với công nghệ blockchain còn nhanh và bảomật hơn nữa

Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm, coi

là một trong những động lực phát triển của nền kinh tế TMĐT đem lại những lợi íchtiềm tàng, giúp doanh nghiệp thu được thông tin phong phú về thị trường và đối tác,giảm chi phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ khách hàng

Hiện nay công nghệ BlockChain đang phát triển mạnh mẽ trên mọi lĩnh vực.Blockchain đã và đang đem lại hiệu quả thiết thực do vậy nó được áp dụng rất nhiềuTrên cơ sở các kiến thức được học trong Nhà trường và quá trình tìm hiểu cácwebsite trong thực tế, chúng em đã quyết định chọn đề tài “Xây dựng ứng dụng kinhdoanh linh kiện điện tử sử dụng công nghệ blockchain” Với mục tiêu:

Phục vụ tốt hơn nhu cầu của khách hàng và quản lý cửa hàng trong hoạt độngkinh doanh

Khách hàng chỉ cần các thao tác đơn giản trên website là có thể đặt hàng và thanhtoán được ngay

2 Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài

Trong quá trình khảo sát, chúng em nhận thấy hầu hết các cửa hàng bán linh kiệnđiện tử cho học sinh sinh viên rất hiếm gặp, các linh kiện ở đây là những linh kiệntrong ngành điện tử môn Vi Điều Khiển của sinh viên Vì vậy các sinh viên phải tìmkiếm và đi khá xa để có thể thấy được một cửa hàng; và có cửa hàng không có linhkiện mà họ cần…Việc phát triển một ứng dụng kinh doanh linh kiện điện tử sẽ giúpcác bạn học sinh, sinh viên hoặc những người quan tâm

Và hiện tại Blockchain cũng đang là một công nghệ đang được nhiều công ty lớn

áp dụng và cũng là công nghệ hot nhất hiện nay chúng em rất muốn được tiếp xúc sớmvới công nghệ này

3 Mục tiêu

Trang 5

Mục tiêu của đồ án cơ sở này là nhằm xây dựng một ứng dụng kinh doanh linhkiện điện tử, có thể:

- Tìm hiểu các hoạt động kinh doanh trong thực tế.

- Tìm hiểu cách thức xây dựng một ứng dụng trên website.

- Xây dựng thành công ứng dụng mua bán linh kiện điện tử.

- Tìm hiểu cách thức xây dựng ứng dụng bán hàng sử dụng công nghệ block

chain

- Tìm hiểu công nghệ Blockchain

- Tìm hiểu các ngôn ngữ lập trình: Next.js, Polygon, Solidity, Hardhat.

- Thiết kế và xây dựng hệ thống, biểu đồ use-case, Biểu đồ hoạt động,…

- Tiếp đến, chúng em sẽ nghiên cứu công nghệ phát triển ứng dụng Website

Trang 6

Ngoài phần mở đầu và kết luận,bố cục của đề tài còn có thêm 3 chương

Chương 1: Cơ sở lý thuyết tập trung tìm hiểu các cơ sở lý thuyết liên quan, các

công cụ hỗ trợ để xây dựng ứng dụng của đề tài như:

Chương 2: Phân tích và thiết kế tập trung phân tích các yêu cầu,thuật

toán cần xử lý ứng dụng của đề tài.Thiết kế cơ sở dữ liệu Đặc tả ca sử dụng xử

lý các chức năng như …Điền Thêm… Gồm các danh mục:

- Giới thiệu ứng dụng

- Giới thiệu các chức năng chính của ứng dụng

- Phân tích thiết kế hệ thống

- Thiết kế cơ sở dữ liệu

Chương 3: Xây dựng và triển khai chương trình tập trung chủ yếu vào

các modul chính của chương trình,cài đặt và xây dựng chương trình

Cuối cùng là phần kết luận và hướng phát triển của đề tài

Trang 7

NHẬN XÉT

(Của giảng viên hướng dẫn)

………

………

………

………

………

………

Đà Nẵng, ngày … tháng … năm 2021 Giảng viên hướng dẫn

Trang 8

MỤC LỤC

Trang

LỜI CẢM ƠN

MỞ ĐẦU

NHẬN XÉT

MỤC LỤC

DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH

DANH MỤC CỤM TỪ VIẾT TẮT

Chương I CƠ SỞ LÝ THUYẾT 1

1.1 Unifield Modeling Language – UML 1

1.2 Blockchain 1

1.2.1 Các đặc tính của blockchain 2

1.2.2 Nguyên lý hoạt động và ứng dụng của Blockchain 6

1.3 Smart contract & Solidity 7

1.3.1 Smart contract 7

1.3.2 Solidity 11

1.4 React.js 11

1.4.1 ReactJS là gì 12

1.4.2 JSX13 1.4.3 Virtual DOM 14

1.4.4 Ưu điểm của ReactJS 15

1.5 Web 3.0 16

1.5.1 Web 3.0 là gì? 16

1.5.2 Đặc điểm chính của Web 3.0 17

1.5.3 Web 3.0 hoạt động như thế nào? 17

1.5.4 Ưu và nhược điểm của Web 3.0 18

1.6 Metamask 18

1.7 NodeJS 19

1.7.1 Node.js hoạt động như thế nào? 20

1.8 Hardhat 20

1.8.1 Cài đặt 21

Chương II PHÂN TÍCH VÀ THIẾT KẾ 24

2.1 Yêu cầu bài toán, khảo sát nghiệp vụ 24

2 1.1 Yêu cầu bài toán 24

2 1.2 Các đối tượng tham gia vào hệ thống 24

2 1.3 Xác định các Actor và Usecase của các tác nhân 24

2.2 Đặc tả UseCase 25

2.3 Biểu đồ UC chi tiết 27

2.4 Biểu đồ hoạt động 30

2.5 Biểu đồ trình tự 33

Chương III TRIỂN KHAI XÂY DỰNG 36

3.1 Màn hình chính 36

3.2 Đăng nhập 36

3.3 Trang danh sách sản phẩm được bán 38

3.4 Trang danh sách mua 38

3.5 Trang mua bán và thanh toán 38

Trang 9

3.6 Trang thêm Linh kiện 39

3.7 Thu phí khi đăng sản phẩm 39

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41

Kết Luận 41

Hướng phát triển 41

TÀI LIỆU THAM KHẢO 42

Trang 10

DANH MỤC CÁC BẢNG

Bảng 2 1 Bảng users 37

Bảng 2 2 Bảng messages 37

Bảng 2 3 Bảng friends 37

Bảng 2 4 Bảng participants 38

Bảng 2 5 Bảng conversation 38

Bảng 2 6 Bảng attachments 39

Trang 11

DANH MỤC CÁC HÌ

Hình 1 1: Chuỗi khối 10

Hình 1 2: Quy trình mã hóa khối 11

Hình 1 3: Mô hình sổ cái phân tán 12

Hình 1 4: Liên kết block 12

Hình 1 5: Mạng lưới phi tập trung 13

Hình 1 6: Cơ chế đồng thuận phi tập trung 14

Hình 1 7: Thuật toán mã hoá 15

Hình 1 8: Nguyên lý hoạt động 15

Hình 1 9: Quá trình trao đổi hợp đồng 17

Hình 1 10: Quá trình thanh toán bằng hợp đồng thông minh 18

Hình 1 11: Lợi ích của Smart contract 19

Hình 1 12: React 21

Hình 1 13: DOM 22

Hình 1 14: JSX code style 23

Hình 1 15: Web 3.0 25

Hình 1 16: Metamask extension 27

Hình 1 17: Nodejs 29

Hình 1 18: Cách Noderjs hoạt động 30

Hình 1 19: Website Hardhat 31

Y Hình 2 1: UC tổng quan 37

Hình 2 2: UC Đăng nhập, đăng ký 38

Hình 2 3: UC nhập xuất hàng 39

Hình 2 4: UC thanh toán 40

Hình 2 5: UC thêm linh kiện 40

Hình 2 6: Biểu đồ đăng kí thành viên 41

Hình 2 7: Biểu đồ đăng nhập 41

Hình 2 8: Thêm linh kiện 42

Hình 2 9: Hoạt Động Thanh Toán 43

Hình 2 10 Biểu đồ TT đăng kí 44

Hình 2 11: Biểu đồ trình tự mua LK 44

Hình 2 12: Biểu đồ tuần tự thêm Lk 45

Hình 3 1 Màn hình chính 46

Hình 3 2 Giao diện đăng nhập bằng ví metammask 47

Hình 3 3: Danh sách sản phẩm được bán 48

Hình 3 4: Trang danh sách mua 48

Hình 3 5: Trang mua và thanh toán 49

Hình 3 6: Thêm Sản Phẩm 49

Hình 3 7: Trang thanh toán sản phẩm được đăng lên bán 50

Trang 13

Chương I CƠ SỞ LÝ THUYẾT

1.1 Unifield Modeling Language – UML.

Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language - UML) làmột ngôn ngữ mô hình hóa thống nhất, có phần chính bao gồm những ký hiệu hìnhhọc, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết

kế của một hệ thống UML là một ngôn ngữ để đặc tả, trực quan hóa, xây dựng, UML

có thể được sử dụng làm công cụ giao tiếp giữa khách hàng, nhà phân tích, nhà thiết kế

Blockchain được tạo thành từ các “khối”- block, mỗi khối chứa một phần dữ liệu

Dữ liệu gần nhất luôn được thêm vào ở đầu chuỗi, trong khi dữ liệu lâu đời nhất đặt ở

phía dưới đáy, bên trong cái được gọi là “Khối nguyên thủy - genesis block”.

Các block được liên kết với nhau bằng mật mã (các thuật toán phức tạp), đó làcách chuỗi được hình thành Toán học liên quan có nghĩa là bất kỳ thay đổi nào đối với

dữ liệu hiện tại đều phá vỡ chuỗi, do đó, mọi cố gắng thay đổi đều có thể bị phát hiện

và từ chối bởi hệ thống

Hình 1 1: Chuỗi khối

Trang 14

Hình 1 2: Quy trình mã hóa khối

Có một số định nghĩa khác về Blockchain như sau:

Blockchain về cơ bản là một cơ sở dữ liệu được phân phối của các bản ghi hoặc

sổ cái công khai của tất cả các giao dịch hoặc các sự kiện kỹ thuật số đã được thựchiện và chia sẽ giữa các bên tham gia Mỗi giao dịch trong sổ cái công khai được xácminh bởi sự đồng thuần của đa số những người tham gia trong hệ thống Ngoài ra, mộtkhi đã nhập thông tin không bao giờ có thể bị xóa bỏ (Crosby và cộng sự, 2015)

Công nghệ Blockchain sử dụng mã hóa Public key và hàm hash để đảm bảo tính minh bạch, toàn vẹn và riêng tư của dữ liệu; sử dụng mỗi một nút trong mạng như một Client và cũng là một Server để lưu trữ bản sao ứng dụng, và áp dụng các nguyên tắc đối với các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận (Savjee, 2017), (IBM Think Academy, 2016)

1.2.1 Các đặc tính của blockchain.

a Cơ sở dữ liệu phân tán (phi tập trung)

Hầu hết các Blockchain được thiết kế như một cơ sở dữ liệu phi tập trung thay vìquản lí sổ cái tập trung như ngân hàng hoặc một tổ chức nào khác Các “tài sản” kỹthuật số được phân phối thay vì sao chép hoặc chuyển giao trên Blockchain Nhờ đó,mọi người trong cùng chuỗi có thể kiểm soát thông tin, dữ liệu có trong khối

Hình 1 3: Mô hình sổ cái phân tán

Trang 15

b Tính bền vững và tăng cường bảo mật

Trong một Blockchain, mỗi khối đều có hàm băm riêng biệt cũng như tham chiếuđến hàm băm của khối nằm trước nó Vì vậy, việc khai thác một chuỗi khá phức tạp,đặc biệt là trên các chuỗi lớn

Những người khai thác chuỗi này sẽ sử dụng phần mềm chuyên dụng để giảiquyết các vấn đề liên quan đến số học vô cùng phức tạp, khi muốn tìm ra một noncetạo ra một hàm băm được chấp nhận Bởi, mỗi nonce chỉ có 32bit trong khi mỗi hàmbăm là 256bit, nên có khoảng bốn tỷ tổ hợp nonce và hàm băm cần phải được tìmkiếm trước khi tìm ra “nonce vàng” để khối của họ được thêm vào chuỗi

Ngoài ra, nếu có bất kì sự thay đổi nào đó ở một khối thì tất cả các khối ở sau đều

bị ảnh hưởng vì khối sau liên kết với khối trước bằng mã băm

Dựa vào điều đó có thể xảy ra các cuộc tấn công hệ thống bằng cách thay đổi cáckhối đến khối cuối cùng tuy nhiên chỉ là có thể nhưng thực tế nó lại không thể

Tại sao?

Mô hình trong blockchain là phi tập trung, mỗi máy được xem là một Node hệthống càng nhiều Node thì càng mạnh mẽ

Hình 1 4: Liên kết block

Trang 16

Hình 1 5: Mạng lưới phi tập trung

Mô hình này dựa trên Cơ chế đồng thuận phi tập trung Khi một giao dịch đượcdiễn ra và được thêm vào chuỗi thì nó cần phải được sự chấp nhận của đa số Node(máy đào) trong hệ thống này (ở đây là các Node)

Hình 1 6: Cơ chế đồng thuận phi tập trung

Vì vậy trên lý thuyết hệ thống này có thể xảy ra cuộc tấn công 51%

Khi một hacker hoặc tổ chức cá nhân có số lượng Node trên hệ thống này chiếmđến 51% thì mọi giao dich sẽ bị thao túng dựa vào cơ chế đồng thuận đại đa số

Giải quyết câu hỏi tại sao ở trên thì một hacker có thể sửa đổi một dãy block tuynhiên trên hệ thống này mỗi cá nhân đều sở hữu một bản sổ cái vì vậy để hoàn toànthay đổi các khối này thì phải thay đổi 51% Node trên hệ thống lúc này thông tin sửađổi đó mới được chấp nhận

Trang 17

Điều này chỉ diễn ra trên lý thuyết còn thực tế để tấn công hệ thống trên là một điều không thể

c Tính minh bạch

Các block được nối tiếp nhau tạo thành chuỗi, một khi một block đã được cậpnhật, bạn sẽ không thể xóa thông tin trong đó đi Blockchain hoạt động dựa trênnguyên tắc ghi chép phổ biến trong tài chính là không được phép xóa bỏ dữ liệu đã cậpnhật, thay vào đó cập nhật thêm các block mới, với nội dung cần chỉnh sửa và tên tuổicủa người chỉnh sửa Điều này vừa giúp rõ ràng thông tin lẫn sự toàn vẹn của các dữliệu đã được tạo Blockchain minh bạch để mỗi người có thể theo dõi dữ liệu nếu họmuốn

d Tính bất biến

Một khi dữ liệu được đưa vào một khối thì sẽ được mã hóa bằng thuật toán mãhóa băm kết hợp RSA security (mã hóa bất đối xứng) đảm bảo rằng dữ liệu không thểsửa đổi

Trang 18

Hình 1 7: Thuật toán mã hoá

1.2.2 Nguyên lý hoạt động và ứng dụng của Blockchain.

Hình 1 8: Nguyên lý hoạt động

Ứng dụng

Blockchain hiện đang được ứng dụng vào rất nhiều lĩnh vực trong đời sống

- Ứng dụng của blockchain trong thương mại điện tử

- Ứng dụng của Blockchain trong chuỗi cung ứng

- Ứng dụng của blockchain trong dịch vụ tài chính, ngân hàng

Trang 19

- Ứng dụng của blockchain trong nông nghiệp

- Ứng dụng của blockchain trong y tế

- Ứng dụng của Blockchain trong Internet of Things (IoT)

1.3 Smart contract & Solidity.

1.3.1 Smart contract.

Hợp đồng thông minh được Nick Szabo định nghĩa là một công cụ kết hợp giaothức và giao diện khách hàng giúp chính thức hóa và bảo mật mạng máy tính Sử dụngtrong nhiều lĩnh vực liên quan đến các thỏa thuận hợp đồng

Bitcoin (Một loại tiền mã hóa dưới dạng phần mềm mã nguồn mở, giúp trao đổitrực tiếp bằng Internet) đã đặt ra nền tảng cơ bản để thiết lập Smart Contract Thếnhưng hợp đồng thông minh chỉ thực sự được thỏa mãn mọi yêu cầu và được nhiềungười sử dụng khi Ethereum (Nền tảng điện toán có tính chất phân tán, công cộng, mãnguồn mở) ra đời

Toàn bộ quá trình được thực hiện tự động bởi các bên mà không cần gặp mặttrực tiếp và không có sự can thiệp từ bên ngoài Phương thức thiết lập hợp đồng mớinày vẫn đảm bảo tính minh bạch, có thể truy xuất, đảo chiều và không bị can thiệp từbên ngoài

Bảng 1 1: Bảng so sánh hợp đồng điện tử và hợp đồng truyền thống

Hợp đồng thông minh Hợp đồng truyền thống

Điểm giống nhau giữa hợp đồng truyền thống và hợp đồng thông minh nằm ở chỗ các điều khoản và hình phạt đều được nêu rõ ràng

- Được tạo ra bởi các chuyên gia pháp lý.

- Biên soạn một lượng lớn tài liệu.

- Cần phải có bên thứ ba để thực thi.

- Mất khá nhiều thời gian để thỏa thuận và đi

đến ký kết

- Được tạo bởi ngôn ngữ lập trình nhưC++, Go, Python, Java trên hệ thống máy tính

- Toàn bộ mã được thực hiện bởi hệthống sổ cái phân tán Blockchain

- Không cần đến bên thứ ba trung gian

Trang 20

- Mất nhiều chi phí và phải dựa vào hệ thống

tư pháp để giải quyết khi có sự cố

Cách hoạt động

Smart Contract chỉ tự động thực hiện khi những điều khoản đã được lập trình sẵn

từ trước Các điều khoản trong hợp đồng sẽ được viết bằng ngôn ngữ lập trình, sau đó

mã hóa và chuyển vào một block thuộc Blockchain Sau đó, hợp đồng thông minhđược phân phối và sao chép lại bằng các Node đang hoạt động tại nền tảng đó

Sau khi có lệnh triển khai thì hợp đồng sẽ được triển khai theo đúng điều khoản.Đồng thời, tự động kiểm tra quá trình thực hiện những cam kết, điều khoản

Vì hệ thống hoạt động dựa trên câu lệnh “If - Then” và hàng trăm người giám sátnên sẽ không xảy ra lỗi sai trong quá trình giao nhận

Hình 1 9: Quá trình trao đổi hợp đồng

Ví dụ: Nếu bạn muốn mua một chiếc xe từ công ty tôi và trả tiền điện tử qua hệthống Blockchain

Biên nhận sau đó sẽ được đưa vào hợp đồng thông minh của công ty và có tráchnhiệm giao mật mã và chiếc xe cho bạn với đúng thời hạn đã nêu trong hợp đồng.Nếu mật mã của công ty không giao đúng thời hạn thì tiền sẽ được chuyển lạivào tài khoản bạn Nếu đến trước thời hạn thì hệ thống sẽ giữ lại cả tiền của bạn vàmật mã của công ty tôi để chuyển vào đúng ngày

Trang 21

Hình 1 10: Quá trình thanh toán bằng hợp đồng thông minh

Lợi ích của Smart contract

Smart Contract là một ứng dụng tận dụng tất cả những điểm mạnh của công nghệBlockchain mang lại vì vậy nó có rất nhiều lợi ích, dưới đây là các lợi ích chính củanó

 Tự động hóa: Quá trình được thực hiện hợp đồng là tự động bằng Đồngthời bạn chính là người tạo hợp đồng, không còn phải phụ thuộc vào môigiới, luật sư hay bất kì ai khác Như vậy, nó cũng xóa bỏ những nguy cơđến từ bên thứ ba

 Không bị thất lạc: Tài liệu của bạn được mã hóa trên một cuốn sổ cáichung, có nghĩa là không thể bị thất lạc

Trang 22

Hình 1 11: Lợi ích của Smart contract

 An toàn: Blockchain sẽ đảm bản sự an toàn cho tài liệu của bạn Khôngmột hacker nào có thể đe dọa đến chúng

 Tốc độ: Hợp đồng thông minh sử dụng các ngôn ngữ lập trình, code phầnmềm để tự động hóa các điều khoản, tiết kiệm hàng tiếng đồng hồ chonhững công việc không cần thiết

 Tiết kiệm: Hợp đồng thông minh tiết kiệm cho bạn hàng đống tiền nhờxóa bỏ khâu trung gian

 Chính xác: Các hợp đồng tự động không chỉ nhanh và rẻ hơn mà còn tránhđược các lỗi thường thấy khi viết giấy tờ

Ưu nhược điểm

a Ưu điểm

 Ứng dụng của hợp đồng thông minh có thể được sử dụng vào nhiều lĩnhvực khác nhau: Logistic, ngân hàng, bất động sản, bầu cử,

 Tự do: Không nhận sự quản lý của bất kỳ một cơ quan nào

 Giảm thiểu rủi ro đến từ bên thứ ba

 An toàn và minh bạch

 Tiết kiệm và nhanh chóng

b Nhược điểm

 Rủi ro từ Internet: Có thể bị tấn công hoặc khai thác bởi các hacker nếu để

lộ những thông tin quan trọng

 Không nhận được quyền pháp lý: Quyền lợi có thể không được bảo vệ vìchưa có chính sách

 Yêu cầu cao về trình độ triển khai của các lập trình viên và hệ thống Từ đó,chi phí để trả cho họ và cơ sở hạ tầng là không hề nhỏ

Trang 23

c Biến

Solidity yêu cầu khai báo biến và kiểu dữ liệu trước khi sử dụng.

VD: uint public numberOne = 20;

d Structs

Cho phép tạo các kiểu dữ liệu phức tạp hơn có nhiều thuộc tính Kiểu cấu trúc này tương tự như trong ngôn ngữ lập trình C

e Array

Có hai loại mảng trong Solidity: mảng cố định và mảng động

Bạn có thể khai báo một mảng như là public, và Solidity sẽ tự động tạo ra mộtphương thức getter cho nó Cú pháp như sau: Person[] public people;

Các hợp đồng khác sau đó sẽ có thể đọc (nhưng không viết) cho mảng này Vìvậy, đây là một mô hình hữu ích để lưu trữ dữ liệu công cộng trong hợp đồng của bạn

1.4 React.js.

Trang 24

Hình 1 12: React

Đối với một web developer, nếu bạn muốn tìm kiếm một công việc có giờ giấclinh hoạt, được trả một mức lương cao, thì điều đó hết sức dễ dàng để biến thành sựthật Tuy nhiên, cái khó ở chỗ là bạn cần phải xác định được đâu là những kỹ năng cầnthiết và quan trọng để bạn tìm kiếm được một công việc phù hợp với nhu cầu mongmuốn của bạn

Nếu bạn đang lên kế hoạch học xây dựng website để tìm kiếm thu nhập cho bảnthân, ít nhiều gì bạn cũng biết bạn cần phải học những thứ như là HTML, CSS vàJavaScript Nhưng nếu bạn chỉ dừng lại ở những kiến thức này thôi thì chắc chắn bạn

sẽ không thể apply vào bất kỳ một công ty phát triển website nào bởi vì những yêu cầuhiện nay đòi hỏi bạn phải biết sử dụng thêm những framework hay thư viện để tăng tốcquá trình phát triển website hơn nữa

Chắc hẳn bạn đã từng nghe đến ReactJS? Nhưng liệu bạn đã biết chính xácReactJS là gì? Nó có phải là một ngôn ngữ lập trình khác không? Để trả lời cho nhữngthắc mắc của bạn và giúp bạn dễ dàng tiếp cận với ReactJS, chúng tôi đã tổng hợpnhững thông tin hữu ích trong bài viết này để giải đáp các thắc mắc trên của bạn

1.4.1 ReactJS là gì.

ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013,bản thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với cácthành phần trên website Một trong những điểm nổi bật nhất của ReactJS đó là việcrender dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client nữa.ReactJS là một thư viện JavaScript chuyên giúp các nhà phát triển xây dựng giaodiện khách hàng hay UI Trong lập trình ứng dụng front-end, lập trình viên thường sẽphải làm việc chính trên 2 thành phần sau: UI và xử lý tương tác của khách hàng UI làtập hợp những thành phần mà bạn nhìn thấy được trên bất kỳ một ứng dụng nào, ví dụ

có thể kể đến bao gồm: menu, thanh tìm kiếm, những nút nhấn, card,… Giả sử bạnđang lập trình một website thương mại điện tử, sau khi khách hàng chọn được sảnphẩm ưng ý rồi và nhấn vào nút “Thêm vào giỏ hàng”, thì việc tiếp theo mà bạn phải

Ngày đăng: 18/12/2022, 20:55

🧩 Sản phẩm bạn có thể quan tâm

w