Báo cáo đồ án: Xây dựng ứng dụng Website Market NFT - SV. Hồ Nhật Huy

Tham khảo báo cáo đồ án Xây dựng website Market NFT chi tiết. Tài liệu trình bày đầy đủ cơ sở lý thuyết, phân tích thiết kế và xây dựng ứng dụng.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2023

82
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về NFT Market và Ứng dụng Web

NFT Market là một nền tảng giao dịch kỹ thuật số dựa trên công nghệ blockchain cho phép người dùng mua, bán, và sở hữu các token không thể thay thế (NFT). Đồ án xây dựng website market NFT là một dự án toàn diện nhằm tạo ra một ứng dụng web hoàn chỉnh cho phép người dùng tương tác với các tài sản số. Dự án này kết hợp các công nghệ hiện đại như Ethereum, smart contract, và web development để tạo nên một sàn giao dịch NFT an toàn và hiệu quả. Mục tiêu chính là cung cấp một giải pháp thương mại hóa trên internet cho các nhà sáng tạo và nhà đầu tư tiền mã hóa.

1.1. Khái niệm NFT và Blockchain

NFT (Non-fungible Token) là một loại token duy nhất trên mạng Ethereum không thể thay thế hoặc sao chép. Mỗi NFT đại diện cho một tài sản số có giá trị riêng biệt. Blockchain cung cấp cơ sở hạ tầng an toàn để lưu trữ và xác thực quyền sở hữu của các NFT. Công nghệ này cho phép người dùng sở hữu hoàn toàn các tài sản kỹ thuật số mà không cần trung gian.

1.2. Tầm quan trọng của Website Market NFT

Một website market NFT chuyên nghiệp là kênh kết nối giữa các nhà sáng tạo và người mua. Sàn giao dịch NFT cung cấp giao diện thân thiện, hệ thống thanh toán an toàn, và công cụ tìm kiếm mạnh mẽ. Điều này giúp nền kinh tế tiền mã hóa phát triển bền vững và tăng cường thương mại hóa các tài sản số trong thời đại Internet ngày nay.

II. Công nghệ và Stack Công nghệ Sử dụng

Để xây dựng một website market NFT hoàn thiện, dự án sử dụng một stack công nghệ hiện đại bao gồm frontend, backend, và blockchain. NextJs được chọn cho phát triển giao diện do hiệu suất cao và hỗ trợ server-side rendering. Solidity là ngôn ngữ lập trình chính để viết smart contract trên Ethereum. Ethers.js cung cấp thư viện để tương tác với blockchain. IPFS được sử dụng để lưu trữ tài sản số phân tán. Hardhat hỗ trợ phát triển và triển khai smart contract. Sự kết hợp này tạo nên một hệ thống ứng dụng web mạnh mẽ và an toàn cho giao dịch NFT.

2.1. Frontend và Công nghệ Web Development

NextJs là framework React tiên tiến dành cho phát triển ứng dụng web hiện đại. Nó cung cấp server-side rendering, static generation, và API routes giúp tối ưu hóa hiệu suất website. NodeJsruntime environment cho phép chạy JavaScript ở phía server. Những công nghệ này kết hợp tạo nên một giao diện người dùng đáp ứng nhanh và trải nghiệm mượt mà cho ứng dụng web market NFT.

2.2. Backend Smart Contract và Blockchain

Solidity là ngôn ngữ lập trình chuyên dụng để viết smart contract trên Ethereum. Hardhat là công cụ phát triển cho phép kiểm tra, triển khai smart contract và quản lý môi trường blockchain. Ethers.js cung cấp thư viện JavaScript để giao tiếp với blockchain. IPFS cho phép lưu trữ tài sản số một cách phân tán và an toàn. Tiêu chuẩn ERC-721 định nghĩa cách các NFT hoạt động trên Ethereum, đảm bảo tính tương thíchan toàn cho giao dịch.

III. Thiết kế Hệ thống và Kiến trúc Ứng dụng

Kiến trúc hệ thống của website market NFT được thiết kế theo mô hình client-server với ba lớp chính: lớp giao diện (Frontend), lớp xử lý dữ liệu (Backend), và lớp smart contract. Lớp giao diện cung cấp các tính năng như upload NFT, liệt kê sản phẩm, tìm kiếm, và giao dịch mua bán. Lớp backend quản lý yêu cầu người dùng và tương tác với blockchain. Lớp smart contract xử lý các giao dịch NFT trên Ethereum. Sơ đồ ca sử dụngbiểu đồ hoạt động minh họa các quy trình chính như mint NFT, sell NFT, buy NFT, và resell NFT. Thiết kế này đảm bảo hệ thống an toàn, scalabledễ bảo trì.

3.1. Kiến trúc Client Server và Các Lớp Hệ thống

Mô hình client-server chia hệ thống thành ba lớp: lớp Frontend xử lý giao diện người dùng bằng NextJs, lớp Backend quản lý logic ứng dụng, và lớp Smart Contract trên Ethereum thực hiện các giao dịch NFT. Mỗi lớp có trách nhiệm riêng biệt nhưng tương tác chặt chẽ. Kiến trúc này cho phép ứng dụng web xử lý nhiều người dùng đồng thời và đảm bảo an toàn cho giao dịch trên blockchain.

3.2. Quy trình Hoạt động Chính của Hệ thống

Hệ thống hỗ trợ các quy trình chính: Mint NFT (tạo tài sản số mới), Sell NFT (niêm yết sản phẩm), Buy NFT (mua tài sản), và Resell NFT (bán lại tài sản). Mỗi quy trình được minh họa qua biểu đồ hoạt độngbiểu đồ tuần tự cho thấy tương tác giữa các thành phần. Người dùng kết nối ví Ethereum qua Metamask, thực hiện các hành động, và smart contract xác nhận giao dịch trên blockchain.

IV. Triển khai Kết quả và Hướng phát triển

Quá trình triển khai bắt đầu với cài đặt môi trường phát triển bao gồm NextJs, Hardhat, Metamask, và kết nối với mạng Ethereum thông qua Infura. Ứng dụng được kiểm thử trên mạng localhost trước khi triển khai lên mạng Goerli testnet. Giao diện người dùng bao gồm trang chủ, trang upload NFT, trang danh sách sản phẩm, trang chi tiết sản phẩm, trang tìm kiếm, trang top seller, và trang liên hệ. Website market NFT đã đạt được các chức năng cơ bản với các ưu điểm về bảo mật, tiện dụng, và khả năng mở rộng. Hướng phát triển trong tương lai bao gồm tích hợp nhiều loại tiền mã hóa, hỗ trợ NFT đa chuỗi, nâng cao giao diện người dùng, và tối ưu hóa hiệu suất.

4.1. Quy trình Triển khai Ứng dụng

Triển khai website market NFT bắt đầu bằng cài đặt dependencies và cấu hình Hardhat cho phát triển smart contract. Kết nối Infura cho phép giao tiếp với mạng Ethereum. Metamask được sử dụng để quản lý tài khoản người dùng. Kiểm thử trên localhost đảm bảo các chức năng hoạt động đúng trước khi triển khai lên mạng Goerli testnet. Quy trình này giảm thiểu rủi ro lỗi và đảm bảo chất lượng ứng dụng trước khi đưa vào sản xuất.

4.2. Kết quả Ưu nhược điểm và Phát triển Tương lai

Website market NFT hoàn thành các chức năng cốt lõi: mint, list, search, buy, resell NFT. Ưu điểm bao gồm bảo mật cao, giao diện trực quan, và khả năng mở rộng. Nhược điểm là phí gas có thể cao, tốc độ giao dịch phụ thuộc Ethereum. Hướng phát triển bao gồm hỗ trợ nhiều blockchain khác, tích hợp thanh toán fiat, cải thiện hiệu suất, và thêm các tính năng xã hội như comment, rating.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Các thông tin cơ bản 1.1 NFT Marketplace NFT Marketplace là thị trường NFT, nơi các NFT có thể được lưu trữ, hiển thị, và mua bán. Bên cạnh đó, bạn cũng có thể đúc NFT (tạo ra NFT) tại marketplace. Người dùng có thể tìm thấy tất cả các loại tài sản NFT trên các thị trường này. Chẳng hạn như: âm nhạc, video clip, tài sản trong trò chơi, thẻ giao dịch, meme,… Để truy cập và giao dịch trong thị trường NFT, người dùng cần thiết lập: ví tiền điện tử, một lượng tiền trong ví, và tài khoản người dùng.2 Web3 Web3 là một khái niệm được sử dụng để chỉ các công nghệ liên quan đến việc truy cập vào mạng lưới blockchain từ trình duyệt web.

Nó bao gồm các công cụ và thư viện phần mềm cho phép người dùng giao tiếp với các smartcontract trên mạng blockchain, thực hiện các giao dịch và xem thông tin liên quan đến các tài sản trên blockchain. Để sử dụng web3, người dùng cần cài đặt một trình duyệt web được tích hợp với công nghệ web3, như trình duyệt MetaMask. Sau đó, người dùng có thể truy cập vào các trang web được tích hợp với web3 và sử dụng các tính năng của web3 để giao tiếp với các smartcontract trên mạng blockchain. Web3 cũng có thể được sử dụng trong việc phát triển các ứng dụng blockchain, bằng cách sử dụng các thư viện phần mềm như Ethers.js hoặc Hardhat để giúp việc kết nối và giao tiếp với các smartcontract Web3 cũng có thể được sử dụng trong việc tích hợp các dịch vụ khác vào các ứng dụng blockchain, ví dụ như việc tích hợp các dịch vụ thanh toán hoặc xác thực người dùng.

Web3 là một phần không thể thiếu của công nghệ blockchain và đang được sử dụng rộng rãi trong các dự án khác nhau, từ các trang web tương tác với các smartcontract đến các ứng dụng di động và các dịch vụ khác. Web3 cung cấp cơ chế để người dùng truy cập vào các tài sản trên blockchain một cách dễ dàng và tiện lợi, giúp mở rộng khả năng sử dụng các dịch vụ và ứng dụng blockchain ra ngoài hệ thống giám sát của các nhà cung cấp dịch vụ.3 Infura Infura là một dịch vụ cung cấp kết nối và truy cập đến mạng Ethereum và IPFS của ConsenSys. Nó được thiết kế để giúp các lập trình viên dễ dàng kết nối và giao tiếp với các smartcontract trên mạng Ethereum mà không cần phải cài đặt và quản lý một máy chủ node Ethereum. Để sử dụng Infura, người dùng cần đăng ký một tài khoản và tạo một dự án.

Sau đó, họ có thể sử dụng các API của Infura để truy cập vào mạng Ethereum hoặc IPFS từ trình duyệt web hoặc từ một ứng dụng di động. Infura cũng cung cấp các công cụ hỗ trợ phát triển và kiểm thử, giúp cho việc phát triển ứng dụng blockchain dễ dàng hơn. Infura được sử dụng rộng rãi trong các dự án blockchain khác nhau, bao gồm các trang web, ứng dụng di động và các dịch vụ khác. Nó được coi là một trong những dịch vụ cung cấp kết nối và truy cập đến mạng Ethereum phổ biến nhất hiện nay.

Hoạt động của Infura 1.4 Ví metamask MetaMask là một trình duyệt web được tích hợp với công nghệ web3, cho phép người dùng truy cập vào mạng blockchain từ trình duyệt web. Nó cung cấp một cách dễ dàng và tiện lợi để giao tiếp với các smartcontract trên mạng Ethereum và thực hiện các giao dịch. Để sử dụng MetaMask, người dùng cần cài đặt một phần mềm trên trình duyệt web của họ và tạo một ví Ethereum. Sau đó, họ có thể sử dụng MetaMask để truy cập vào các trang web được tích hợp với web3 và sử dụng các tính năng của web3 để giao tiếp với các smartcontract trên mạng Ethereum.

MetaMask còn cung cấp các tính năng khác như việc quản lý ví Ethereum, xem lịch sử giao dịch và tích hợp với các dịch vụ khác như các trang web mua bán cryptocurrency. Nó được sử dụng rộng rãi trên các dự án blockchain khác nhau và được coi là một trình duyệt web tiên tiến cho việc truy cập vào các dịch vụ và ứng dụng blockchain. Tuy nhiên, người dùng cần lưu ý rằng khi sử dụng MetaMask, họ phải chú ý đến việc bảo mật ví Ethereum của họ và không nên chia sẻ mật khẩu hoặc các thông tin khác với bên thứ ba. Người dùng cũng nên lưu ý rằng MetaMask chỉ được tích hợp với mạng Ethereum hiện tại và không thể được sử dụng để truy cập vào các mạng blockchain khác.Ví metamask  Ưu nhược điểm của metamask - Ưu điểm: Giao diện thân thiện người dùng, dễ sử dụng đối với người mới.

Có sẵn Swap nên không cần kết nối với các AMM khác giúp tiết kiệm thời gian. Là Extension khá phổ biến nên các dự án đã tích hợp sắn ví này. Tùy chỉnh được phí gas để người dùng điều khiển được tốc độ giao dịch. Có tích hợp sẵn nhiều Blockchain.

- Nhược điểm: Swap có sẵn nhưng mức phí khá cao. Không thể đăng nhập nhiều địa chỉ ví cùng một lúc. Không tự động cập nhật số liệu tài sản mà người dùng nắm giữ. Ai sở hữu phải tự cập nhật thủ cộng.

Dẫn đến việc quản lý tài sản gặp khó khăn.5 Ethereum network Ethereum là một smart contract platform cho việc phát triển các ứng dụng phi tập trung (dapps). Đây được xem là nền tảng đầu tiên và cũng là nền tảng lớn nhất về hoạt động của các nhà phát triển ở thời điểm hiện tại. Ethereum được khởi xướng bởi Vitalik Buterin vào năm 2013, sau khi ông nhận thấy những hạn chế trong chức năng của Bitcoin. Buterin đã xuất bản whitepaper của Ethereum vào cuối năm đó, mô tả một nền tảng điện toán phân tán để thực hiện các hợp đồng thông minh và xây dựng các ứng dụng phi tập trung (dApps).

Với tầm nhìn đó, Vitalik Buterin và các cộng sự đã huy động được 31,529 BTC (tầm $18M vào thời điểm đó) để phát triển giao thức cốt lõi và tăng trưởng hệ sinh thái Ethereum. Cho tới thời điểm hiện nay, tất cả ứng dụng lớn của thị trường crypto đều bắt nguồn và phát triển trên Ethereum trước khi lan rộng ra những hệ sinh thái khác. Một số use case nổi bật mà các bạn có thể biết là DeFi & NFT. Ethereum có những điểm nổi bật sau: Ethereum Virtual Machine: Trung tâm của Ethereum được gọi là Ethereum Virtual Machine (EVM), là một phần của giao thức thực hiện các giao dịch.

Nó là một máy ảo hoàn chỉnh Turing có ngôn ngữ cụ thể “EVM bytecode”, thường được viết bằng ngôn ngữ cấp cao gọi là Solidity. Thư viện đầy đủ và nhiều công cụ hỗ trợ nhà phát triển: Ethereum mainnet năm 2015, trãi qua thời gian hoạt động lâu dài, cộng đồng nhà phát triển Ethereum đã phát triển thư viện đầy đủ và nhiều các công cụ hỗ trợ cho việc phát triển trên Ethereum cũng đã được ra phục vụ cho các nhà phát triển.0 là kế hoạch mở rộng dài hạn cho Ethereum bao gồm việc chuyển đổi sang PoS và sử dụng công nghệ Sharding, với tầm nhìn được cung cấp bởi Ethereum 2.0, khiến Ethereum dù có nhiều hạn chế nhưng các nhà phát triển vẫn ở lại và tiếp tục xây dựng với nó.6 Tiêu chuẩn ERC-721 ERC-721 được khởi nguồn từ một dự thảo EIP (đề xuất cải tiến Ethereum) của Dieter Shirley – CTO của Dapper Labs, sau đó đã trở thành cơ sở cho trò chơi CryptoKitties. ERC-721 mang tới một tiêu chuẩn cho NFT. Nói cách khác, loại token này là duy nhất và có giá trị khác với các token khác từ cùng một hợp đồng thông minh (có thể khác ở tuổi thọ, mức độ hiếm, hình ảnh trực quan hoặc bất kì điểm khác biệt nào).

Tất cả các NFT đều có một biến số uint256 riêng được gọi là TokenID. Vì vậy, đối với bất kỳ hợp đồng ERC-721 nào, địa chỉ hợp đồng cặp (hay uint256 TokenID) phải là duy nhất trên toàn bộ mạng lưới. Điều đó có nghĩa rằng, một Dapp có thể có một “bộ chuyển đổi” sử dụng TokenID làm dữ liệu đầu vào và xuất ra một hình ảnh của một cái gì đó hay ho như các nhân vật zombie, vũ khí, kỹ năng hoặc những nhân vật amazing kitty. Nội dung của ERC-721: ERC-721 (Ethereum Request for Comments 721), được đề xuất bởi William Entriken, Dieter Shirley, Jacob Evans và Nastassia Sachs vào tháng 1/2018, là một tiêu chuẩn cho NFT, giúp kết hợp một API cho các token vào trong những hợp đồng thông minh.

Nó cung cấp các chức năng như chuyển token từ tài khoản này sang tài khoản khác, tra được số dư token hiện tại của tài khoản, tra được thông tin chủ sở hữu của một token cụ thể và cung cấp thông tin tổng nguồn cung token đang có sẵn trên mạng lưới. Bên cạnh đó, nó còn có một số chức năng khác như phê duyệt cho một lượng token từ một tài khoản có thể được di chuyển bởi một tài khoản khác của bên thứ ba. Những ứng dụng NFT phổ biến theo chuẩn ERC-721: Etherscan NFT Tracker liệt kê các NFT hàng đầu trên Ethereum theo khối lượng chuyển nhượng. CryptoKitties là một trò chơi tập trung vào các sinh vật có thể sinh sản, sưu tầm và rất đáng yêu mà chúng ta gọi là CryptoKitties.

Sorare là một trò chơi bóng đá toàn cầu theo phong cách fantasy, nơi game thủ có thể thu thập các phiên bản sưu tầm có giới hạn, quản lý đội của mình và cạnh tranh để kiếm giải thưởng. The Ethereum Name Service (ENS) cung cấp một giải pháp an toàn và phi tập trung để giải quyết các vấn đề về địa chỉ tài nguyên (địa chỉ ví tiền mã hóa) cả trong và ngoài blockchain bằng cách sử dụng các tên gọi đơn giản để người dùng có thể đọc được. Unstoppable Domains là một công ty xây dựng tên miền trên blockchain. Tên miền blockchain thay thế địa chỉ tiền mã hoá bằng tên gọi để người dùng có thể đọc được và có thể được sử dụng trên các trang web chống kiểm duyệt.

Gods Unchained Cards là một trò chơi thẻ bài trên blockchain Ethereum, sử dụng NFT để mang lại quyền sở hữu thực sự các tài sản trong trò chơi cho các game thủ. Bored Ape Yacht Club là một bộ sưu tập hơn 10.000 NFT độc đáo, mỗi NFT là một tác phẩm nghệ thuật hiếm có. NFT của dự án hoạt động như một token thẻ hội viên để tham gia các câu lạc bộ, cung cấp các đặc quyền và từ những nỗ lực đóng góp cho cộng đồng thành viên mà lợi ích thành viên tăng theo thời gian. Su Squares là một nền tảng quảng cáo cho phép người dùng thuê mặt bằng để đặt các hình ảnh.

Decentraland là một nền tảng thế giới ảo 3D mã nguồn mở.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ