You are on page 1of 28

University of Information Technology

Faculty of Computer Networks and Communications

BÁO CÁO
Xây dựng NFT Blockchain Web 3.0 Application
sử dụng NextJS
Môn học: Đồ Án Chuyên Ngành

Giảng viên hướng dẫn:


ThS. Trần Tuấn Dũng

Lớp: NT114.N11.ATCL
Nhóm sinh viên thực hiện
Cao Thị Bích Phượng 19522058
Đoàn Thị Thanh Nhàn19521929
Nguyễn Hoàng Hiệu 19521503

TP.HCM, tháng 12 năm 2022


ĐÁNH GIÁ
LỜI CẢM ƠN
LỜI MỞ ĐẦU
MỤC LỤC

NỘI DUNG........................................................................................................................... 1

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI............................................................................................................1


I. Lý do chọn đề tài..............................................................................................................................1
II. Mục tiêu nghiên cứu.........................................................................................................................1

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..............................................................................................................2
I. Công nghệ Blockchain......................................................................................................................2
1.1 Khái niệm blockchain..................................................................................................................2
1.2 Cấu trúc của một khối blockchain..............................................................................................2
1.3 Cách thức hoạt động....................................................................................................................3
1.4 Tính chất của blockchain............................................................................................................4
1.5 Ưu điểm và nhược điểm của blockchain....................................................................................4
1.6 Các ứng dụng nổi bật của blockchain........................................................................................4
II. Giao dịch NFT..................................................................................................................................5
2.1 Khái niệm của NFT.....................................................................................................................5
2.2 Cách thức hoạt động của NFT....................................................................................................5
2.3 Các tính chất của NFT.................................................................................................................6
2.4 Ứng dụng của NFT......................................................................................................................6
III. Công nghệ Web 3.0...........................................................................................................................7
3.1 Định nghĩa....................................................................................................................................7
3.2 Sự phát triển của Công nghệ Web 3.0........................................................................................8
3.3 Cách thức hoạt động của Web 3.0..............................................................................................9
3.4 Cách tính năng chính của Web 3.0...........................................................................................10
3.5 Ưu nhược điểm của Web 3.0.....................................................................................................10
IV. Xây dựng ứng dụng web................................................................................................................12
4.1 ReactJS.......................................................................................................................................12
4.2 NextJS.........................................................................................................................................17
4.3 TailwindCSS...............................................................................................................................19
4.4 PosgreSql....................................................................................................................................19
4.5 Vercel platform..........................................................................................................................21

CHƯƠNG 3: TRIỂN KHAI........................................................................................................................23

TÀI LIỆU THAM KHẢO..................................................................................................24


Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
NỘI DUNG
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
I. Lý do chọn đề tài
II. Mục tiêu nghiên cứu

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
I. Công nghệ Blockchain
1.1 Khái niệm blockchain
Blockchain (chuỗi khối), tên ban đầu block chain là một cơ sở dữ liệu phân cấp lưu trữ
thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời
gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối
trước đó, kèm theo thông tin về dữ liệu giao dịch. Blockchains được biết đến nhiều nhất với
vai trò quan trọng của chúng trong các hệ thống tiền điện tử, chẳng hạn như Bitcoin, để duy
trì hồ sơ giao dịch an toàn và phi tập trung. Sự đổi mới với blockchain là nó đảm bảo tính
trung thực và bảo mật của bản ghi dữ liệu và tạo ra sự tin cậy mà không cần đến bên thứ ba
đáng tin cậy.
Một điểm khác biệt chính giữa cơ sở dữ liệu điển hình và blockchain là cách dữ liệu được
cấu trúc. Một chuỗi khối thu thập thông tin với nhau thành các nhóm, được gọi là khối ,
chứa các tập hợp thông tin. Các khối có khả năng lưu trữ nhất định và khi được lấp đầy, sẽ
được đóng lại và liên kết với khối đã được lấp đầy trước đó, tạo thành một chuỗi dữ liệu
được gọi là blockchain. Tất cả thông tin mới theo sau khối mới thêm đó được biên dịch
thành một khối mới được hình thành, sau đó cũng sẽ được thêm vào chuỗi sau khi được lấp
đầy.
Cấu trúc dữ liệu này vốn dĩ tạo ra một dòng thời gian không thể thay đổi của dữ liệu khi
được thực hiện theo bản chất phi tập trung. Khi một khối được lấp đầy thông tin, nó sẽ được
đặt trong khối và trở thành một phần của dòng thời gian này. Mỗi khối trong chuỗi được
cung cấp một dấu thời gian chính xác khi nó được thêm vào chuỗi.
1.2 Cấu trúc của một khối blockchain
Cấu trúc của blockchain gồm 2 phần chính: Khối (block) các khối này chứa dữ liệu và chuỗi
(chain) là các khối liên kết lại với nhau tạo thành chuỗi.
Về cơ bản mỗi khối chứa những thông tin sau:
 Dữ liệu (Data): Dữ liệu trong mỗi khối phụ thuộc vào loại lockchain, ví dụ
blockchain của bitcoin chứa thông tin về các giao dịch như thông tin người gửi,
người nhận tiền và số bitcoin được giao dịch; blockchain về bảo hiểm y tế sẽ lưu
trữ các thông tin về đối tượng được hưởng bảo hiểm, lịch sử sức khỏe của đối
tượng đó, …
 Mã băm (Hash): Dùng để nhận dạng một khối và các dữ liệu trong đó. Mã này là
duy nhất, nó tương tự như dấu vân tay. Bất kỳ sự thay đổi nào trong khối thì mã
băm cũng sẽ thay đổi;
 Mã băm đối chiếu (Hash of previous block) sẽ tạo thành chuỗi. Bất cứ sự thay đổi
một khối sẽ khiến các khối tiếp theo không phù hợp.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Hình 1: Cấu trúc của một block.

Hình 2: Cấu trúc của một blockchain.


1.3 Cách thức hoạt động
Mục tiêu của blockchain là cho phép thông tin kỹ thuật số được ghi lại và phân phối, nhưng
không được chỉnh sửa. Theo cách này, blockchain là nền tảng cho các sổ cái bất biến hoặc
các bản ghi của các giao dịch không thể bị thay đổi, xóa hoặc phá hủy. Đây là lý do tại sao
blockchain còn được gọi là công nghệ sổ cái phân tán (DLT).

Nhìn vào ví dụ trên để hiểu rõ hơn về blockchain. Với khối 1 là khối khởi điểm, khối 2 được
tạo nên từ thông tin trong khối 2 và mã hash của khối 1, khối 3 được tạo nên từ thông tin
trong khối 3 và mã hash của khối 2. Như vậy, khi hacker tấn công và thay đổi thông tin của
khối 2 thì khối thứ 3 và các khối tiếp theo sẽ không còn phù hợp nữa hay nói cách khác là
mối liên hệ bằng mã băm đối chiếu sẽ bị sai, để mã băm đối chiếu không bị sai lệch, hacker
phải thay đổi cả mã băm của những khối đằng sau, điều đó là không khả thi nếu chuỗi block
lớn. Với thiết kế này, Blockchain giúp chống lại việc thay đổi của dữ liệu. Về nguyên tắc,
một khi dữ liệu đã được ghi vào Blockchain thì sẽ không có cách nào thay đổi được dữ liệu
đó. Ngoài ra, Blockchain còn được trang bị thêm phương tiện đó là thuật toán đồng thuận,

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
trong đó có 02 loại thuật toán đồng thuận được triển khai phổ biến: Thuật toán bằng chứng
công việc (PoW) và thuật toán bằng chứng cổ phần (PoS).
1.4 Tính chất của blockchain
Những đặc điểm chính của công nghệ Blockchain là:
 Không thể làm giả, không thể phá hủy: theo như lý thuyết chỉ có máy tính lượng
tử mới có thể giải mã Blockchain và công nghệ Blockchain biến mất thì không
còn Internet trên toàn cầu.
 Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để lại dấu
vết) và sẽ lưu trữ mãi mãi.
 Bảo mật: các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt
đối.
 Minh bạch: ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới địa chỉ
khác và có thể thống kế toàn bộ lịch sử trên địa chỉ đó.
 Hợp đồng thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code if-this-
then-that (IFTTT), cho phép chúng tự thực thực thi mà không cần bên thứ ba
(Savjee, 2017)
1.5 Ưu điểm và nhược điểm của blockchain
 Ưu điểm:
 Cải thiện độ chính xác bằng cách loại bỏ sự tham gia của con người vào quá trình
xác minh.
 Giảm chi phí bằng cách loại bỏ xác minh của bên thứ ba.
 Phi tập trung làm cho việc giả mạo trở nên khó hơn.
 Giao dịch an toàn, riêng tư và hiệu quả.
 Công nghệ minh bạch.
 Cung cấp một giải pháp thay thế ngân hàng và một cách để bảo mật thông tin cá
nhân cho công dân của các quốc gia có chính phủ không ổn định hoặc kém phát
triển.
 Nhược điểm:
 Chi phí công nghệ đáng kể liên quan đến khai thác bitcoin.
 Giao dịch thấp mỗi giây.
 Lịch sử sử dụng trong các hoạt động bất hợp pháp, chẳng hạn như trên web đen.
 Quy định thay đổi tùy theo thẩm quyền và vẫn không chắc chắn .
 Giới hạn lưu trữ dữ liệu.
1.6 Các ứng dụng nổi bật của blockchain
Blockchain được đảm bảo nhờ cách thiết kế sử dụng hệ thống lưu trữ phân cấp với khả năng
chịu lỗi cao. Vì vậy Blockchain phù hợp để ghi lại những sự kiện, hồ sơ y tế, xử lý giao
dịch, công chứng, danh tính và chứng minh nguồn gốc,…. Công nghệ này có tiềm năng

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
giúp chống lại việc dữ liệu bị thay đổi, xử lý các vấn đề thiếu tính minh bạch trong bối cảnh
thương mại toàn cầu.
II. Giao dịch NFT
2.1 Khái niệm của NFT
NFT là viết tắt của Non-fungible Token, là loại token có tính độc nhất và không thể bị thay
thế bởi những token khác. Đây có thể là tài sản ảo hoặc phiên bản mã hóa của tài sản trong
thế giới thực. Vì mỗi NFT là duy nhất và chúng không thể hoán đổi cho nhau, nên chúng có
thể hoạt động như bằng chứng xác thực và quyền sở hữu trong lĩnh vực kỹ thuật số.
Nói theo cách khác, NFT là một loại tài sản kỹ thuật số có chứa thông tin về quyền sở hữu
được lưu giữ trên blockchain. NFT được ứng dụng rất nhiều bởi các nghệ sĩ, họa sĩ hay nhà
phát triển game để token hóa các sản phẩm của mình và biến chúng trở thành duy nhất.
2.2 Cách thức hoạt động của NFT
NFT là một dạng chữ ký số được lưu giữ trên blockchain, công nghệ tương tự cách mà tiền
mã hóa (cryptocurrency) hoạt động. Các bằng chứng số (token) đại diện cho tài sản liên kết
như tác phẩm nghệ thuật số đóng vai trò xác thực tài sản là duy nhất và là phiên bản gốc. Đó
có thể là một file ảnh tĩnh, ảnh động, nhạc hay bất cứ loại tệp tin kỹ thuật số nào.
NFTs ra đời như một phương pháp đăng ký quyền sở hữu đối với một tài sản đặc biệt, bao
gồm tranh ảnh nghệ thuật, vật phẩm game… Tài sản số này trở thành một NFT khi nó được
đánh dấu trên blockchain, nhờ đó nó được gán thêm một đoạn hash mã hóa đặt biệt. Khi đó
tài sản được coi là đã được tokenized (xác thực số). Nhờ đó, bất kỳ ai cũng có thể xác minh
được độ tin cậy của tài sản cũng như quyền sở hữu đối với tài sản đó, khiến cho việc làm giả
tài sản đó trở nên bất khả thi.
NFT cho phép bạn xác thực quyền sở hữu bản gốc với một tài sản số ngay cả khi có hàng
triệu bản sao khắp nơi trên mạng Internet. Khi mua NFT, bạn đang mua lại chứng thực về
quyền sở hữu của một tài sản.
NFT thường được ứng dụng trong ngành công nghiệp hàng hóa sưu tầm. Một ví dụ đặt biệt
đó là NBA Top Shot, một nền tảng cho phép trao đổi các hình ảnh, video trong game và
điểm nhấn của các trận đấu NBA. Khi mua các tệp dữ liệu này, người mua trở thành chủ sở
hữu của các ‘khoảnh khắc’ ấn tượng nói trên.
Các chuẩn token của NFT
Nói về chuẩn phát hành, thông thường ở Ethereum blockchain, các token phổ biến ở ERC-
20. Nhưng ở NFT, rất nhiều chuẩn được áp dụng, và nổi bật nhất là ERC-721 và ERC-1155:
 ERC-721: Với mỗi một NFT token mới, nhà phát triển phải triển khai một smart
contract mới, điều này gây ra lãng phí tài nguyên và tốn công xây dựng. Ứng
dụng: CryptoKitities, CryptoPunks,...

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
 ERC-1155: Đây là thế hệ cải tiến mới hơn nhưng chưa được phổ biến. Với ERC-
1155, nhà phát triển có thể tạo ra cả Fungible và Non-fungible token trong 1
smart contract duy nhất và có thể tạo ra vô số token trên một contract. Ứng dụng:
NFT trên nền tảng Enjin.
2.3 Các tính chất của NFT
Bởi NFT là cách để lưu trữ các tệp tin trên các blockchain, nên chúng sở hữu các đặc điểm
cơ bản của token trên blockchain nói chung và các đặc điểm của NFT nói riêng:
 Tính độc nhất: Các token này là độc nhất, kể cả những người khác có tạo ra
những tập tin y hệt thì chúng vẫn khác với những tập tin được tạo ra từ trước đó.
 Tính vĩnh cửu: Sự tồn tại của các token này là vĩnh viễn, kèm theo các thông tin
trong token đó ví dụ như các tin nhắn, bức ảnh, âm thanh, hay các dữ liệu,...
 Có thể được lập trình: NFT cũng là các dòng code trên blockchain, và luôn luôn
có thể xác minh được tác giả của NFT, kể cả tác phẩm có qua tay bao người sở
hữu đi chăng nữa.
 Không cần được cấp phép: Đây là đặc điểm của tùy loại NFT. Nếu NFT đó được
tạo ra ở trên một mạng lưới blockchain mở, thì NFT đó cũng thừa hưởng đặc tính
của mạng lưới là có thể được truy cập tùy ý.
 Tính sở hữu: Những người sở hữu NFT có toàn quyền quyết định sở hữu, sử dụng
NFT đó.
2.4 Ứng dụng của NFT
 Nghệ thuật - NFT art:
Các sản phẩm nghệ thuật trên blockchain có thể dễ dàng xác minh chủ sở hữu và tác giả sản
phẩm. Các vấn đề về tác phẩm giả, hay quyền sở hữu sẽ được xử lý gọn ghẽ với công nghệ
blockchain.
 Các item trong game - NFT Game:
Các trò chơi điện tử đã là các dòng code sẵn từ đầu, nên việc đưa các NFT vào các game sẽ
vô cùng dễ dàng.
 Thẻ giao dịch điện tử:
Sorare và NBA Top Shots là hai ứng dụng sưu tập thẻ thể thao hàng đầu. Cả hai đều phục vụ
cho các trò chơi thể thao điện tử.
 Theo dõi xuất xứ và xác thực thông số kỹ thuật:
Trong thế giới thông thường, các sản phẩm nghệ thuật sẽ mất rất nhiều thời gian, công sức
và tiền của để xác minh một tác phẩm có phải bản thật hay không.
 Tên miền:

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Các tên miền cũng là các sản phẩm NFT bởi chúng là khác biệt, độc nhất, và từ lâu đã có
các công ty kinh doanh tên miền.
 Phát triển nội dung
Âm nhạc, tweets, memes, và các nội dung kĩ thuật đều có thể trở thành NFTs, giúp cho nội
dung đó trở nên độc nhất và có một ý nghĩa đặc biệt.
 Các vé tham gia sự kiện:
Trong thế giới vật chất, các vé tham gia sự kiện có thể bị làm giả dễ dàng, tuy nhiên trong
thế giới blockchain thì việc làm giả là bất khả thi.
III. Công nghệ Web 3.0
3.1Định nghĩa

Web 3.0 là thế hệ thứ ba sắp tới của Internet, nơi các trang web và ứng dụng sẽ có thể xử lý
thông tin theo cách thông minh giống như con người thông qua các công nghệ như máy học
(ML), Dữ liệu lớn, công nghệ sổ cái phi tập trung (DLT), v.v. Ban đầu, Web 3.0 được nhà
phát minh World Wide Web, Tim Berners-Lee, gọi là Semantic Web, và nó nhằm mục đích
trở thành một internet tự chủ, thông minh, và cởi mở hơn.
Định nghĩa Web 3.0 có thể được mở rộng như sau: dữ liệu sẽ được kết nối với nhau theo
cách phi tập trung. Đây sẽ là một bước tiến vượt bậc so với thế hệ internet hiện tại của
chúng ta (Web 2.0), nơi dữ liệu chủ yếu được lưu trữ trong các kho lưu trữ tập trung.
Hơn nữa, người dùng và máy móc sẽ có thể tương tác với dữ liệu. Nhưng để làm được điều
này, các chương trình cần hiểu được thông tin cả về mặt khái niệm lẫn ngữ cảnh. Với suy
nghĩ này, Web 3.0 có hai nền tảng là semantic web (mạng ngữ nghĩa) và trí tuệ nhân tạo
(AI).
Về bản chất, Web 3.0, chính là một ứng dụng khác của công nghệ Blockchain ngoài ứng
dụng phổ biến nhất là tiền điện tử (Crypto) đang thấy hàng ngày. Được xem là tầm nhìn về
tương lai sau này của Internet, trong đó mọi người hoạt động trên các nền tảng phi tập trung,
gần như ẩn danh, thay vì phụ thuộc vào những gã khổng lồ trong giới công nghệ như
Google, Facebook và Twitter…v.v.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
3.2Sự phát triển của Công nghệ Web 3.0
Web 3.0 được sinh ra từ sự phát triển tự nhiên của các công cụ web thế hệ cũ kết hợp với
các công nghệ tiên tiến như AI và blockchain, cũng như sự kết nối giữa người dùng và việc
sử dụng internet ngày càng tăng. Rõ ràng, Internet 3.0 là một bản nâng cấp cho các tiền thân
của nó: web 1.0 và 2.0.
Web 1.0 (1989-2005)
Web 1.0, còn được gọi là Static Web, là internet đầu tiên và đáng tin cậy nhất trong những
năm 1990 mặc dù chỉ cung cấp quyền truy cập vào các thông tin hạn chế với ít hoặc không
có sự tương tác của người dùng. Trước đây, việc tạo ra các trang người dùng hoặc thậm chí
là bình luận trên các bài viết không phải là một việc đáng để làm.
Web 1.0 không có các thuật toán để sàng lọc các trang internet, điều này khiến người dùng
vô cùng khó khăn trong việc tìm kiếm các thông tin liên quan. Nói một cách đơn giản, nó
giống như đường cao tốc một chiều với lối đi nhỏ hẹp, nơi việc tạo nội dung được thực hiện
bởi một số ít người được chọn và thông tin chủ yếu đến từ các thư mục.
Web 2.0 (2005-nay)
Mạng xã hội, hay Web 2.0, đã làm cho internet trở nên có tính tương tác hơn rất nhiều nhờ
vào những tiến bộ trong công nghệ web như Javascript, HTML5, CSS3, v.v., cho phép các
công ty khởi nghiệp xây dựng nền tảng web tương tác như YouTube, Facebook, Wikipedia
và nhiều nền tảng khác nữa.
Điều này đã mở đường phát triển cho cả mạng xã hội và việc sản xuất nội dung do người
dùng tạo vì hiện có thể phân phối và chia sẻ dữ liệu giữa các nền tảng và ứng dụng khác
nhau.
Web 3.0 (chưa ra mắt)
Web 3.0 là giai đoạn tiếp theo của quá trình phát triển web sẽ làm cho internet trở nên thông
minh hơn hoặc xử lý thông tin với trí thông minh gần giống con người thông qua sức mạnh
của các hệ thống AI có thể chạy các chương trình thông minh để hỗ trợ người dùng.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
3.3Cách thức hoạt động của Web 3.0
Web 3.0 sẽ hoạt động thông qua các giao thức phi tập trung, các khối sáng lập của
blockchain và công nghệ tiền điện tử , nên có thể mong đợi sự hội tụ và mối quan hệ cộng
sinh mạnh mẽ giữa ba công nghệ này và các lĩnh vực khác. Chúng sẽ có thể tương tác, tích
hợp liền mạch, tự động thông qua các hợp đồng thông minh và được sử dụng để cung cấp
năng lượng cho bất kỳ thứ gì từ các giao dịch vi mô ở Châu Phi, lưu trữ và chia sẻ tệp dữ
liệu P2P chống kiểm duyệt với các ứng dụng như Filecoin để thay đổi hoàn toàn mọi hành
vi và hoạt động kinh doanh của công ty. Một loạt các giao thức DeFi hiện tại chỉ là phần nổi
của tảng băng chìm.
Mục đích của Web 3.0 là cung cấp thông tin được cá nhân hóa và có liên quan nhanh hơn,
thông qua việc sử dụng AI và các kỹ thuật máy học tiên tiến. Các thuật toán tìm kiếm thông
minh hơn và sự phát triển trong phân tích Dữ liệu lớn có nghĩa là máy móc có thể hiểu và đề
xuất nội dung một cách trực quan. Web 3.0 cũng sẽ tập trung vào quyền sở hữu của người
dùng đối với nội dung và hỗ trợ cho các nền kinh tế kỹ thuật số có thể truy cập được.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Bằng cách ghi lại hoạt động của người dùng trong Blockchain, Web 3.0 sẽ giúp người dùng
sử dụng dữ liệu của mình trên toàn bộ môi trường mạng lưới và liên thông giữa các trang
web chỉ bằng một tài khoản duy nhất. Web3 cho phép nâng cao quyền riêng tư, tăng cường
tính minh bạch, loại bỏ các bên trung gian, tạo điều kiện cho quyền sở hữu dữ liệu và các
giải pháp nhận dạng kỹ thuật số. Web 3.0 được ví von như một cơ sở dữ liệu khổng lồ, có
khả năng truy cập tìm kiếm các thông tin trên Internet để trả lời cho những câu hỏi của bạn.
Có thể biết mọi thứ về bạn giống như một người cố vấn hoặc trợ lý đồng hành cùng bạn bất
cứ lúc nào. Bên cạnh đó, công nghệ blockchain có thể cho phép thực hiện nhiều giao dịch
và tương tác trực tuyến trực tiếp hơn mà không cần đến các dịch vụ, máy chủ trung gian
như hiện nay.
3.4Cách tính năng chính của Web 3.0
 Trí tuệ nhân tạo AI
Web 3.0 dựa trên công nghệ NLP cho phép máy tính hiểu và rút ra ý nghĩa các từ viết và nói
nhằm hỗ trợ kiểm duyệt mà không có sự tham gia của con người. Nhờ vậy việc xác minh
thông tin sẽ khách quan và công bằng hơn.
 Blockchain
Blockchain về cơ bản là một chuỗi các khối, theo đó mỗi khối bao gồm một mật mã, dấu
thời gian và dữ liệu giao dịch của khối trước đó, không thể thay đổi được. Do đó, thông tin
được bảo mật và phân phối một cách đa dạng.
 Tính phổ biến
Thay vì phụ thuộc vào các công ty công nghệ lớn, trong Web 3.0 tính phổ biến ở khắp mọi
nơi nhờ vào hàng nghìn máy tính tự trị, tính khả dụng ngoại tuyến, tính toán biên và các
công nghệ mới nổi khác giúp giảm thời gian chết và giúp hệ thống chạy 24/7.
 Đồ hoạ 3D
Quá trình chuyển đổi tự nhiên từ đồ họa 2D sang 3D cũng được coi là một phần của công
nghệ Web 3.0. Cùng với máy học và NLP, web không gian có thể hợp nhất thế giới ảo với
thực tế bằng cách sử dụng công nghệ AR / VR, kính thông minh, tự động và cảm biến.
3.5Ưu nhược điểm của Web 3.0
 Ưu điểm:
 Phi tập trung, không cần trung gian
Được xây dựng và phát triển trên công nghệ Blockchain, các ứng dụng Web3 có các giao
dịch, được trao đổi trực tiếp, ngang hàng và không thông qua sự kiểm soát của bất kì cá
nhân, tổ chức nào. Trong Web 2.0 hiện nay, các dữ liệu thông tin được lưu trữ tại một nền
tảng nào đó của nhà phát triển, nhưng ở thế giới Web3 thông tin sẽ được tìm thấy ở nhiều
nơi, và hoàn toàn phân cấp không thông qua bên trung gian nào.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
 Đáng tin cậy
Các dữ liệu cá nhân là do bạn hoàn toàn kiểm soát và bảo mật. Dường như không thể có
cách nào để hacker xâm nhập được mạng lưới và lấy đi tài sản của bạn trừ khi bạn để lộ
cụm từ khoá hay mật khẩu ví. Lấy trộm các dữ liệu cá nhân của người dùng là điều bất khả
thi đối với các hacker, trừ phi có thể hack được toàn bộ internet trên thế giới, và điều này là
phi thực tế.
 Tự quản lý
Bất kì ai cũng có thể tham gia Web3, các thông tin, dữ liệu do bạn tự quản lý và nắm giữ,
không ai có thể xâm nhập đánh cắp hay làm lộ bí mật riêng tư nếu bạn không muốn. Điều
này trái ngược hẳn với các nền tảng như Facebook hay Google, nới người dùng hoàn toàn
chịu sự kiểm soát về mặt dữ liệu cá nhân tại các máy chủ của nền tảng.
 Phân tán và mạnh mẽ
Các ứng dụng hay nền tảng trên Web3 không có máy chủ trung tâm như ở hệ thống web tập
trung. Chúng tồn tại song hành và liên tục bất kể ngày đêm. Sự cố mất điện do thiên tai, hay
máy chủ bị phá hoại từ hacker dẫn đến sập hệ thống máy chủ của web hiện tại sẽ không làm
ảnh hưởng trải nghiệm của bạn ở trong thế giới Web3.
 Trạng thái của dữ liệu
Thông tin, trò chơi, bài viết, tác phẩm mà bạn ưa thích, nội dung tin nhắn hay bất kỳ dữ liệu
nào khác trên Web 3.0 sẽ tồn tại chừng nào Internet trên thế giới còn hoạt động, không ai có
quyền truy cập để sửa đổi hay xoá bỏ. Nó sẽ tồn tại mãi mãi theo thời gian và bạn có thể dễ
dàng truy xuất bất kì lúc nào.
 Nhược điểm:
 Dữ liệu rác khổng lồ
Do là mạng lưới phi tập trung, phân quyền, nên các dữ liệu trên web3 được đưa lên một
cách ồ ạt và đôi khi sẽ có nhiều thông tin không có giá trị hay những tin rác, cũng sẽ được
lưu trữ trên mạng lưới. Điều này gây nên một trải nghiệm không tốt đối với người dùng.
Bên cạnh đó những thông tin không phù hợp với các lứa tuổi, nội dung không lành mạnh
(18+, bạo lực, chiến tranh…v.v.) cũng là vấn đề nhức nhối cần được xử lý. Một khi dữ liệu
đã được on-chain, nó sẽ tồn tại vĩnh viễn và không ai có thể làm gì.
 Các vấn đề về pháp lý
Hãy thử tưởng tượng một nền tảng Internet mà không ai kiểm soát về nội dung hay các vấn
đề nhạy cảm như chính trị, tôn giáo, chiến tranh…v.v sẽ là một rào cản lớn để Web3 phát
triển mạnh mẽ trong tương lai. Tội phạm khôn gian mạng, ngôn từ kích động thù địch và
thông tin sai lệch sẽ càng trở nên nghiêm trọng hơn trong một cấu trúc phi tập trung vì thiếu
sự kiểm soát. Một web phi tập trung cũng sẽ làm cho việc thực thi các quy định pháp lý trở
nên khó khăn hơn ở các quốc gia sở tại. Hãy thử tưởng tượng, luật của quốc gia nào sẽ được

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
áp dụng cho một trang web có nội dung được lưu trữ ở nhiều quốc gia trên thế giới? Điều
này sẽ thúc đẩy một cơ chế mới trong thời đại mới đó là DAO.
 Chưa thân thiện với người dùng
Tính đến thời điểm hiện tại, công nghệ Blockchain nói chung và web3 nói riêng vẫn còn
đang ở những bước đi đầu tiên trên con đường tạo dựng được niềm tin và ứng dụng thực
tiễn trong cuộc sống của mọi người. Các tính năng, cách sử dụng, dương như vẫn đang còn
khá phức tạp và khó hiểu đối với một số bộ phận như người già hay những người không
thực sự am hiểu về công nghệ. Các tính năng này đòi hỏi người dùng phải có một lượng
kiến thức nhất định về công nghệ cũng như Internet.
Có thể trong lương lai, thế hệ web hiện nay sẽ được chuyển đổi dần dần từng bước theo
hướng, phi tập trung 1 phần trước khi chuyển hẳn sang phi tập trung để có thể dễ dàng tiếp
cận hơn với mọi người.
 Khả năng mở rộng
Chính vì những thông tin, dữ liệu được lưu trữ vĩnh viễn trên mạng lưới của Web3, điều này
khiến cho gánh nặng lưu trữ theo thời gian cũng là một vấn đề đáng để lưu tâm và xử lý.
Nếu thời gian xử lý giao dịch hay tải dữ liệu chậm dần theo thời gian, điều này có thể gây
tác dụng ngược tới trải nghiệm người dùng.
Một số giải pháp được đưa ra như Blockchain của dự án Mina Protocol, được xem là
blockchain nhẹ nhất thế giới, có thể dễ dàng lưu trữ, hay tải các dữ liệu một cách nhẹ nhàng
thoải mái.
 Tốc độ xử lý
Do phải chạy các nút xác thực, dựa trên các tính năng cơ bản của blockchain, điều này dẫn
tới việc có thể bị ngẽn mạng và khiến trải nghiệm của người dùng giảm xuống.
IV. Xây dựng ứng dụng web
4.1 ReactJS

a) Định nghĩa

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
React (còn được gọi là React.js hoặc ReactJS) là một thư viện Javascript Front end nguồn
mở và miễn phí để xây dựng giao diện người dùng dựa trên các thành phần UI. Nó được
duy trì bởi Meta (trước đây là Facebook) và một cộng đồng các nhà phát triển và công ty cá
nhân. React có thể được sử dụng làm cơ sở để phát triển các ứng dụng một trang , thiết bị di
động hoặc máy chủ được hiển thị trên máy chủ với các khuôn khổ như Next.js. Tuy nhiên,
React chỉ quan tâm đến việc quản lý trạng thái và hiển thị trạng thái đó cho DOM , do đó,
việc tạo các ứng dụng React thường yêu cầu sử dụng các thư viện bổ sung để định tuyến,
cũng như một số chức năng phía máy khách nhất định.
b) Thành phần (Component)
React coi mỗi phần của giao diện người dùng như một thành phần. Các thành phần có trạng
thái, phương thức và chức năng riêng.
Chúng cho phép nhà phát triển tách giao diện người dùng thành các phần cụ thể, dễ dàng kết
hợp để tạo ra các giao diện người dùng phức tạp. Do đó, nếu muốn tạo công cụ quản lý
khách hàng, một thành phần của giao diện người dùng có thể được dành riêng để thêm
khách hàng mới, trong khi một thành phần khác của cùng giao diện người dùng có thể được
dành riêng để hiển thị danh sách khách hàng.
Ở dạng đơn giản nhất, mỗi thành phần là một lớp hoặc hàm JavaScript. Chúng nhận các giá
trị đầu vào được gọi là 'props' và trả về những khía cạnh cụ thể của giao diện người dùng
dưới dạng các phần tử React. Đối với một số nhà phát triển, việc xác định một thành phần
dưới dạng một hàm đơn giản hơn việc xác định nó như một lớp. Tuy nhiên, sử dụng một
trong hai phương pháp đều đạt được kết quả đầu ra như nhau trong React.
 Thành phần lớp (Class component): Một class component phải bao gồm lệnh extends
React.Component. Câu lệnh này tạo ra sự kế thừa cho React.Component và cung cấp
quyền truy cập vào các function của React.Component. Component này sử dụng
phương thức render() để trả về HTML.

 Thành phần hàm (Function component): Tương tự như class component thì
component này sử dụng hàm để thay thế bằng cách sử dụng ít code hơn, dễ hiểu hơn
và được ưu tiên nhiều hơn.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Các component có thể tham chiếu đến các component khác bằng đầu ra của chúng.

c) Cách thức hoạt động của ReactJS


Không giống như những DOM element của trình duyệt, React element là những “Plain
Object” (đối tượng đơn giản). React DOM giữ vai trò cập nhật DOM để phù hợp với các
React element.

Cách render một element:


 Mỗi ứng dụng chỉ có một DOM node gốc. Giả sử trong ứng dụng có một file HTML
với một thẻ <div> có id= ”root”.

 Để render một React element vào node gốc ta cần truyền tất cả vào hàm
ReactDOM.render() như sau:

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Cách cập nhật một element:
 Tất cả React element đều là immutable. Khi tạo ra một element, ta không thể thay đổi
các thành phần con hoặc thuộc tính của nó. Cách duy nhất để cập nhật nó là truyền
nó vào hàm ReactDOM.render().
 React sẽ so sánh element và các thành phần con của nó với cái trước đó và chỉ cập
nhật những node cần thiết lên DOM thật.
d) Ưu và nhược điểm
 Ưu điểm:
 Dễ tiếp cận: React là thư viện khá dễ tiếp cận và sử dụng đối với những lập trình
viên mới bắt đầu học. Trong mô hình MVC (Model – View - Control) thì React đảm
nhận nhiệm vụ ‘V’ (View). Nó hoạt động bằng cách kết hợp HTML và Javascript
thuần, vì thế cú pháp trong React khá là dễ hiểu.
 Tăng tốc tải trang với Virtual DOM: React sử dụng Virual DOM (DOM ảo), mỗi khi
render thì React sẽ tạo ra một DOM ảo và lưu nó vào trong bộ nhớ, khi thay đổi state
của component thì DOM ảo sẽ được cập nhật lại và so sách với DOM ảo cũ (được
đồng bộ với DOM thật trước đó) bằng thuật toán ‘diffing‘, để tìm ra những node cần
thay đổi và cuối cùng cập nhật lại những node đó trên DOM thật. Vì thế quá trình
cập nhật lại cây DOM sẽ không bị gián đoạn và làm chậm phản hồi, giúp website
chạy mượt mà và nhanh hơn.

 Tái sử dụng dễ dàng với các component: React giúp lập trình viên hoàn toàn có thể
sử dụng lại các component đã khai báo trước đó để phát triển các ứng dụng khác

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
nhau có cùng chứ năng. Đây là một điểm mạnh cũng như lợi thế của ReactJS giúp
các lập trình viên có thể dễ thở hơn trong các dự án.
 Viết component dễ dàng với JSX: Khi nhắc đến React ta không thể bỏ qua JSX
(Javascript + XML), đây là cú pháp mở rộng gần giống XML, người dùng có thể lập
trình React bằng cú pháp của XML thay vì sử dụng Javascript mà không làm thay đổi
ý nghĩa của Javascript, nó giúp chúng ta dễ dàng định nghĩa và quản lý các
component phức tạp cũng như việc dễ dàng đọc hiểu được ý nghĩa của các
component hơn.
 Dễ tích hợp và kiểm thử: React chỉ là một thư viện giúp tạo ra giao diện người dùng
(View) nên có thể dễ dàng tích hợp vào các framework khác như Angular,
BackbooneJS… React được thiết kế với việc tạo ra các component riêng lẻ, nên việc
kiểm thử UI, chức năng cũng được đơn giản hóa theo từng component. Bằng cách
tích hợp các thư viện kiểm thử như Jest, Enzyme, React Testing Library … sẽ giúp
cho việc kiểm thử dễ dàng hơn.
 Nhược điểm:
 Reactjs chỉ phục vụ cho tầng View. React chỉ là View Library nó không phải là một
MVC framework như những framework khác. Đây chỉ là thư viện của Facebook giúp
render ra phần view. Vì thế React sẽ không có phần Model và Controller, mà phải kết
hợp với các thư viện khác. React cũng sẽ không có 2-way binding hay là Ajax.
 Tích hợp Reactjs vào các framework MVC truyền thống yêu cầu cần phải cấu hình
lại.
 React khá nặng nếu so với các framework khác React có kích thước tương tương với
Angular (Khoảng 35kb so với 39kb của Angular). Trong khi đó Angular là một
framework hoàn chỉnh.

4.2 NextJS

a) Định nghĩa
Next.js là một framework front-end React được phát triển dưới dạng open-source bổ sung
các khả năng tối ưu hóa như render phía máy chủ (SSR) và tạo trang web static. Next.js xây
dựng dựa trên thư viện React, có nghĩa là các ứng dụng Next.js sử dụng core của React và

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
chỉ thêm các tính năng bổ sung. Việc triển khai ứng dụng SSR cho phép máy chủ truy cập
tất cả dữ liệu được yêu cầu và xử lý JavaScript cùng nhau để hiển thị trang. Sau đó, trang
được gửi lại toàn bộ cho trình duyệt và ngay lập tức được hiển thị. SSR cho phép các trang
web load trong thời gian nhỏ nhất và tăng trải nghiệm người dùng với khả năng phản hồi
nhanh hơn.
b) Ưu và nhược điểm
 Ưu điểm:
 Ưu điểm chính của Next.js là hỗ trợ SSR tích hợp để tăng hiệu suất và SEO. Với tất
cả thông tin trên server, nó sẽ xử lý để generate ra thông tin HTML của trang/ Sau đó
Client có thể gửi một yêu cầu đến Server và nhận toàn bộ trang HTML thay vì yêu
cầu từng thành phần riêng lẻ với Client Render.

 Ứng dụng Next.js tải nhanh hơn đáng kể so với ứng dụng React do được render phía
Server.
 Hỗ trợ các tính năng cho static web.
 Đối với những ai đã có kinh nghiệm làm việc với React thì việc tiếp tập NextJS sẽ là
một việc dễ dàng.
 Tự động code splitting cho các page nhằm tối ưu hoá performance khi load trang.
 Dễ dàng xây dựng các API internal thông qua các API routes tích hợp sẵn và tạo các
endpoit API.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
 Hỗ trợ tích hợp cho route cho page, CSS, JSX và TypeScript.
 Nhanh chóng thêm các plugin để tùy chỉnh Next.js theo nhu cầu của trang cụ thể của
bạn.
 Nhược điểm:
 Nhược điểm thực sự duy nhất của Next.js là nó là một framework được cố định, có
nghĩa là nó có một phương pháp và bộ công cụ cụ thể mà nó muốn bạn sử dụng để
xây dựng các ứng dụng của mình. Tuy nhiên, các tùy chọn của Next.js sẽ phù hợp
với phạm vi của hầu hết các dự án.

4.3 TailwindCSS

a) Định nghĩa
Tailwind css là một Utility-First CSS framework nó hỗ trợ phát triển xây dựng nhanh chóng
giao diện người dùng, nó cũng có điểm chung giống như Bootstrap & điểm làm nó nổi bật
hơn cả đó là chúng ta có thể tùy biến phát triển css theo cách mà chúng ta định nghĩa ra.
b) Ưu và nhược điểm
 Ưu điểm:
 Người sử dụng có thể chẳng phải viết đến 1 dòng css nào mà vẫn có giao diện tùy
biến theo mong muốn.
 Style, màu sắc, font chữ hiện đại, phù hợp với phong cách web hiện đại
 Sử dụng Flex nên rất dễ chia Layout
 Dễ cài đặt, dễ sử dụng, document của Tailwind rất dễ hiểu. Tailwind CSS phù hợp
cho các dự án nhỏ, người dùng tuỳ biến nhiều, cần làm nhanh giao diện. Trong khi
nếu sử dụng Bootstrap mà không tuỳ biến gì thì trong web của ta sẽ đúng đậm chất
Bootstrap. Còn với Tailwind thì khi mỗi người dùng sẽ ra mỗi giao diện khác nhau
mà không hề đụng hàng.
 Nhược điểm:

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
 Khi sử dụng tailwind thì bạn bạn đang phải sử dụng số class cực kì nhiều, số class sẽ
tương ứng với với số thuộc tính mà bạn muốn cài đặt
 Khi dùng font-size hoặc màu sắc vẫn đang còn phải custom lại bằng css riêng.
 Chưa có những bộ mixin khi muốn set nhiều thuộc tính cần thiết.

4.4 PosgreSql

a) Định nghĩa
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (Object - relational
Database Management System) miễn phí và nguồn mở (RDBMS) tiên tiến nhất hiện nay.
Khả năng mở rộng cao và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một
loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ
Web có nhiều người dùng đồng thời.
b) Các tính năng của PosgreSQL
PostgreSQL tích hợp nhiều tính năng tuyệt vời giúp hỗ trợ nhà phát triển xây dựng app đáp
ứng các chức năng phức tạp, truy vấn nhanh chóng và bảo mật duy trì tính toàn vẹn và độ
tin cậy. Để đáng tin cậy hơn, PostgreSql cung cấp các tùy chọn bảo mật, xác thực và khôi
phục thảm họa khác nhau. PostgreSql được chứng minh là có khả năng mở rộng cao cả về
số lượng dữ liệu và số lượng người dùng có thể thao tác cùng lúc.
 Kiểu dữ liệu: nguyên hàm (các nguyên số, boolean, số, chuỗi); cấu trúc (UUID,
Phạm vi, Array, Date/time); Hình học; Tùy chỉnh; Document.
 Toàn vẹn dữ liệu: Ràng buộc loại từ, Primary Keys, Foreign Keys, UNIQUE, NOT
NULL, Khóa khuyến nghị/ Advisory Locks, Khóa hàm số/ Explicit Locks,…
 Hiệu suất, đồng quy: Tính năng lập danh mục,  lập danh mục nâng cao, trình lập kế
hoạch, trình tối ưu hóa truy cập phức tạp, thống kê số liệu trên nhiều cột, quét index
– only, giao tác – giao tác dạng test, điều khiển đồng thời nhiều phiên bản (MVCC),
phân vùng bảng, truy vấn đọc song song, độ tin cậy, phục hồi sau thảm họa, nhật ký
ghi trước (Write-ahead Logging – WAL), replication, khôi phục điểm – thời gian,
bảng

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
 Chức năng bảo mật: Bảo mật, xác thực (SCRAM-SHA-256, SSPI, LDAP, GSSAPI,
Certificate và các hình thức khác), hệ thống kiểm soát truy cập mạnh mẽ, bảo mật
cấp độ cột – hàng.
 Khả năng mở rộng: phương pháp lưu trữ, ngôn ngữ thủ tục (PL / PGSQL, Python,
Perl, và nhiều ngôn ngữ khác), PostGIS, tính năng kết nối cơ sở dữ liệu hoặc luồng
khác với giao diện SQL chuẩn, cùng nhiều tính năng mở rộng khác.
 Tìm kiếm văn bản: Tìm kiếm văn bản đầy đủ, hệ thống các bộ ký tự quốc tế (thông
qua ICU collations).
 Tính năng khác: Khả năng quản lý số lượng người dùng đang thao tác cùng lúc, phù
hợp với môi trường sản xuất quản lý nhiều terabyte và petabyte.
c) Ưu và nhược điểm
 Ưu điểm:
 Là một chuẩn SQL phù hợp với hệ quản trị cơ sở dữ liệu quan hệ: PostgreSQL là hệ
quản trị cơ sở dữ liệu quan hệ mã nguồn mở, miễn phí và mạnh mẽ
 Cộng đồng mạnh: PostgreSQL được hỗ trợ bởi một cộng đồng nhiệt tình và đầy kinh
nghiệm.
 Hỗ trợ mạnh mẽ từ các bên thứ 3: Bất kể các tính năng tiên tiến thì PostgreSQL đều
được hỗ trợ bởi các công cụ tuyệt vời của bên thứ 3 trong việc quản lý cơ sơ dữ liệu
 Sự mở rộng: Nó có thể mở rộng lập trình PostgreSQL với các thủ tục lưu trữ, giống
như một RDBMS tiên tiến.
 Đối tượng hóa: PostgreSQL không chỉ là một hệ quản trị cơ sở dữ liệu quan hệ, mà
nó còn đối tượng hóa dữ liệu.
 Nhược điểm:
 Hiệu suất: Đối với các toán tử đơn giản thì PostgreSQL thực hiện kém hiệu quả hơn
so với các hệ quản trị cơ sở dữ liệu quan hệ khác như MySQL. Nhưng đối với toán tử
phức tạp thì PostgreSQL thực hiện tốt hơn rất nhiều.
 Sự phổ biến: Do chưa có sự phổ biến nên ảnh hưởng đến người dùng nhận được sự
hỗ trợ kịp thời.
 Hosting: Do các yếu tố được đề cập bên trên nên nó khó được hỗ trợ bởi các host.

4.5 Vercel platform

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
Vercel là một platform tốt, miễn phí cho phép ta build, preview và deploy websites một cách
dễ dàng.
Với Vercel, ta có thể build và deploy dễ dàng cho những trang web được tạo bởi kiến trúc
JavaScript như: Next.js, Gatsby.js, React, Vue.js, Nuxt, Angular, ... không giới hạn băng
thông, số lần build (thời gian), Serverless function, SSl, ...
Ta có thể thay đổi tên miền trên Vercel, có thể thể nâng cấp để sử dụng thêm một số dịch vụ
nâng cao như: Hỗ trợ nhiều thành viên, tăng giới hạn, bảo vệ mật khẩu, build song song, …

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
CHƯƠNG 3: TRIỂN KHAI

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023
Xây dựng NFT Blockchain Web 3.0 Application sử dụng NextJS

14
TÀI LIỆU THAM KHẢO
[1] https://cef.vn/tongquanblcokchain/
[2] https://www.investopedia.com/terms/b/blockchain.asp
[3] https://coin98.net/nft-la-gi
[4]
[5] https://nextjs.org/docs
[6] https://reactjs.org/docs/getting-started.html
[7] https://tailwindcss.com/docs/installation
[8] Đoàn Ngọc Sơn (2017). Nghiên cứu, ứng dụng công nghệ blockchain trong
thanh toán di động. Luận văn thạc sĩ, khoa Hệ thống thông tin, Trường Đại
học Công nghệ - ĐHQG Hà Nội.

Khoa Mạng máy tính và truyền Đồ án chuyên ngành


thông Học kỳ 1 – Năm học 2022-2023

You might also like