Báo cáo Đồ án 1: Nghiên cứu NFT và Xây dựng Website NFT Marketplace

Tải báo cáo đồ án 1: Nghiên cứu công nghệ NFT và xây dựng website NFT Marketplace. Trình bày chi tiết kiến trúc, use case và quy trình triển khai.

2024

57
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu NFT Marketplace và Ứng dụng Blockchain

NFT Marketplace là một nền tảng giao dịch kỹ thuật số cho Non-Fungible Token (NFT), những tài sản số không thể thay thế được. Đồ án này tập trung vào nghiên cứu và xây dựng NFT Marketplace hiện đại, kết hợp công nghệ blockchain Ethereum với các smart contract. Mục tiêu chính là phát triển một ứng dụng web cho phép người dùng tạo, mua, bán và giao dịch NFT một cách an toàn và minh bạch. Đây là xu hướng công nghệ hiện đại, mở ra những cơ hội sáng tạo trong nghệ thuật số, game, và bất động sản ảo. Việc xây dựng nền tảng NFT không chỉ giúp hiểu sâu hơn về công nghệ blockchain mà còn khám phá tiềm năng ứng dụng thực tế trong nhiều lĩnh vực kinh tế số.

1.1. Xu hướng công nghệ và tầm quan trọng của NFT

NFT đã trở thành một trong những công nghệ blockchain nổi bật nhất hiện nay. Công nghệ này mở ra nhiều cơ hội sáng tạo trong các lĩnh vực nghệ thuật số, trò chơi điện tử, bất động sản ảo và nhiều ngành công nghiệp khác. Việc nghiên cứu NFT Marketplace giúp chúng ta hiểu rõ hơn về cách hoạt động của tài sản kỹ thuật số trong thế giới blockchain. Đây là bước tiến quan trọng trong cuộc cách mạng công nghệ số, mang lại giá trị thực tế cho các nhà phát triển và người dùng.

1.2. Mục tiêu và phạm vi nghiên cứu

Đề tài 'Xây dựng NFT Marketplace' hướng tới việc tìm hiểu cách hoạt động của NFT, từ quá trình mint NFT mới, lưu trữ metadata trên hệ thống phi tập trung như IPFS, đến giao dịch trên blockchain. Ứng dụng sẽ cung cấp các chức năng chính như kết nối ví blockchain, xem danh sách NFT, tìm kiếm, mua bánquản lý giao dịch. Phạm vi nghiên cứu bao gồm công nghệ Ethereum, smart contract và các công cụ phát triển như Hardhat và OpenZeppelin.

II. Công nghệ Blockchain và Smart Contract trong NFT

Nền tảng NFT Marketplace được xây dựng trên Ethereum blockchain, một nền tảng cung cấp khả năng thực thi smart contract một cách an toàn và minh bạch. Smart contract là những chương trình tự động chạy trên blockchain, giúp thực hiện các giao dịch mua bán NFT mà không cần trung gian. Việc sử dụng HardhatOpenZeppelin cho phép phát triển, kiểm tra và triển khai smart contract một cách hiệu quả. Ethereum blockchain cung cấp tính bảo mật cao nhất, đảm bảo mọi giao dịch NFT đều được ghi lại một cách bất biến. Công nghệ này cho phép người dùng quản lý quyền sở hữu tài sản số một cách hoàn toàn độc lập, tạo ra một hệ sinh thái giao dịch NFT công bằng và minh bạch.

2.1. Ethereum Blockchain và cơ chế hoạt động

Ethereum là một nền tảng blockchain tiên tiến, cho phép thực hiện smart contract tự động. Mỗi giao dịch NFT được xác nhận thông qua mạng lưới nút Ethereum, đảm bảo tính minh bạch và bảo mật. Người dùng có thể kết nối ví blockchain (như MetaMask) để thực hiện giao dịch NFT trực tiếp. Ethereum blockchain sử dụng cơ chế proof-of-stake, giúp tiết kiệm năng lượng và tăng tốc độ xử lý giao dịch.

2.2. Smart Contract và công cụ phát triển

Smart contract là những hợp đồng tự động thực thi trên blockchain Ethereum, kiểm soát việc mint NFT, mua bán và chuyển đổi quyền sở hữu. Hardhat là một framework mạnh mẽ cho phát triển smart contract, hỗ trợ kiểm thử và triển khai. OpenZeppelin cung cấp những mẫu contract tiêu chuẩn cho NFT (ERC-721/ERC-1155), đảm bảo tính an toàn và tuân thủ tiêu chuẩn ngành công nghiệp.

III. Chức năng chính và Use Case của NFT Marketplace

NFT Marketplace được thiết kế với các chức năng chính giúp người dùng thực hiện các giao dịch NFT một cách dễ dàng. Người dùng có thể kết nối ví blockchain để bắt đầu tương tác với ứng dụng. Chức năng 'Xem danh sách NFT' cho phép duyệt các bộ sưu tập, trong khi 'Tìm kiếm NFT' giúp tìm các mục cụ thể. Người dùng có thể mint NFT mới từ tệp ảnh của họ, đồng thời thực hiện mua và bán NFT trên thị trường. Ứng dụng cung cấp 'Xem lịch sử giao dịch' để theo dõi tất cả hoạt động, và 'Quản lý ví tiền' để kiểm soát số dư và rút tiền. Các use-case này được thiết kế để đáp ứng nhu cầu của cả người mua, người bán và nhà sáng tạo NFT.

3.1. Quy trình Mint Mua và Bán NFT

Mint NFT là quá trình tạo mới một token không thể thay thế từ tệp ảnh hoặc dữ liệu. Người dùng upload hình ảnh, dữ liệu được lưu trữ trên IPFS (hệ thống lưu trữ phi tập trung), và smart contract tạo ra NFT duy nhất. Mua NFT yêu cầu người dùng kết nối ví blockchain và giao dịch trực tiếp. Bán NFT cho phép chủ sở hữu đặt giá và chuyển giao quyền sở hữu cho người mua, tất cả được ghi lại trên Ethereum blockchain.

3.2. Quản lý tài sản và lịch sử giao dịch

Quản lý ví tiền cho phép người dùng xem số dư, gửi và rút tiền từ ứng dụng. Xem lịch sử giao dịch cung cấp báo cáo chi tiết về tất cả giao dịch NFT, bao gồm mint, mua, bán, chuyển nhượng. Mỗi giao dịch được xác nhận trên blockchain và có thể theo dõi trực tiếp. Người dùng cũng có thể chỉnh sửa hồ sơ cá nhân, tìm hiểu về các nhà sáng tạo khác thông qua trang Explore Users.

IV. Thiết kế Giao diện và Triển khai Ứng dụng

Giao diện NFT Marketplace được thiết kế với trải nghiệm người dùng hiện đại và trực quan. Landing page cung cấp thông tin tổng quan, trong khi Explore NFT page cho phép duyệt danh sách các NFT với bộ lọc và sắp xếp. Detail NFT page hiển thị thông tin chi tiết từng NFT, bao gồm lịch sử chủ sở hữu và giá đăng ký. Mint page hướng dẫn người dùng tạo NFT mới, trong khi Listing NFT page quản lý các NFT đang bán. Các modal chính như 'Connect Wallet Modal''Edit Profile Modal' cung cấp các chức năng thiết yếu. Ứng dụng được triển khai trên môi trường web hiện đại, sẵn sàng cho phát triển và mở rộng trong tương lai.

4.1. Các trang chính và tính năng giao diện

Landing page là cửa chính của NFT Marketplace, cung cấp hướng dẫn sử dụng. Explore NFT page hiển thị danh sách các NFT có sẵn với công cụ tìm kiếm và lọc. Detail NFT page cho thấy thông tin chi tiết NFT, giá, lịch sử giao dịch. Mint page hướng dẫn quy trình tạo NFT mới. Profile page quản lý thông tin người dùng, danh sách NFT sở hữu. Explore Users page hiển thị danh sách các nhà sáng tạo và tài khoản.

4.2. Môi trường phát triển và hướng phát triển tương lai

Ứng dụng được phát triển trên môi trường Node.js với các công nghệ React, Solidity, Hardhat. Triển khai sử dụng testnet Ethereum để kiểm thử an toàn. Hướng phát triển tương lai bao gồm tích hợp payment gateway, hỗ trợ nhiều blockchains, tính năng auction NFT, và cộng đồng DAO. Các cải tiến này sẽ nâng cao trải nghiệm người dùngmở rộng thị trường NFT.

28/12/2025

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

Chương 1. TỔNG QUAN ĐỀ TÀI. Lý do chọn đề tài. Phương pháp thực hiện.

Giai đoạn nghiên cứu lý thuyết. Giai đoạn thiết kế. Giai đoạn triển khai. Kết quả mong đợi.

Ethereum Blockchain và Smart Contract. Hardhat và OpenZeppelin. Danh sách use-case:. Use-case “Kết nối ví blockchain”.

Use-case “Xem danh sách NFT”. Use-case “Tìm kiếm NFT”. Use-case “Mint NFT mới”. Use-case “Mua NFT”.

Use-case “Bán NFT”. Use-case “Xem lịch sử giao dịch”. Use-case “Quản lý ví tiền”. XÂY DỰNG ỨNG DỤNG.

Thiết kế dữ liệu. Thiết kế kiến trúc hệ thống. Thiết kế giao diện. Explore NFT page.

Explore users page. Detail NFT page. Listing NFT page. Edit profile modal.

Connect wallet modal. Môi trường Phát triển và Triển khai. Môi trường Phát triển. Hướng phát triển trong tương lai.46 DANH MỤC HÌNH ẢNH Hình 1 Sơ đồ Use-case tổng quát.16 Hình 2 Use-case “Kết nối ví blockchain”.17 Hình 3 Use-case “Xem danh sách NFT”.18 Hình 4 Use-case “Tìm kiếm NFT”.19 Hình 5 Use-case “Mint NFT mới”.20 Hình 6 Use-case “Mua NFT”.

21 Hình 7 Use-case “Bán NFT”. 22 Hình 8 Use-case “Xem lịch sử giao dịch”.23 Hình 9 Use-case “Quản lý ví tiền”.24 Hình 10 Kiến trúc hệ thống. 31 Hình 11 Landing page. 33 Hình 12 Explore NFT page.34 Hình 13 Explore users page.35 Hình 14 Detail NFT page.

37 Hình 15 Mint page. 38 Hình 16 Profile page.39 Hình 17 Not found. 40 Hình 18 Listing NFT page.41 Hình 19 Edit profile modal. 42 Hình 20 Connect wallet modal.43 DANH MỤC BẢNG Bảng 1 Danh sách use-case.13 Bảng 2 Mô tả thành phần trong hệ thống.31 Bảng 3 Landing page.

33 Bảng 4 Explore NFT page. 34 Bảng 5 Explore users page. 36 Bảng 6 Detail NFT page. 37 Bảng 7 Mint page.

38 Bảng 8 Profile page. 39 Bảng 9 Not found. 41 Bảng 10 Listing NFT page. 41 Bảng 11 Edit profile modal.42 Bảng 12 Connect wallet modal.44 Bảng 13 Phân công công việc.

TỔNG QUAN ĐỀ TÀI 1. Lý do chọn đề tài Xu hướng công nghệ hiện đại: ● NFT (Non-Fungible Token) đã trở thành một trong những công nghệ nổi bật trong lĩnh vực blockchain, mở ra nhiều cơ hội sáng tạo trong nghệ thuật số, game, bất động sản ảo, và nhiều lĩnh vực khác. ● Việc nghiên cứu NFT không chỉ giúp hiểu sâu hơn về công nghệ blockchain mà còn khám phá tiềm năng ứng dụng trong các ngành công nghiệp khác nhau. Tăng cường kiến thức về blockchain và ứng dụng thực tiễn: ● Đề tài này cho phép tìm hiểu cách hoạt động của NFT, từ việc tạo (mint), lưu trữ metadata trên hệ thống phi tập trung như IPFS, đến giao dịch trên marketplace.

● Giúp tích lũy kinh nghiệm thực tiễn trong việc xây dựng hệ thống tích hợp blockchain và các công nghệ liên quan như Web3.js hoặc Ethers. Phát triển kỹ năng lập trình và thiết kế hệ thống: ● Đề tài cung cấp cơ hội thực hành các kỹ năng lập trình với nhiều công nghệ, bao gồm backend (Node.js, ExpressJS), frontend (React), cơ sở dữ liệu (MongoDB), và các framework hỗ trợ blockchain. ● Nghiên cứu và xây dựng kiến trúc RESTful API. Ứng dụng minh họa thực tế: 1 ● Marketplace NFT không chỉ là một công cụ minh họa lý thuyết mà còn là sản phẩm thực tế, phản ánh các tính năng như giao dịch, theo dõi lịch sử mua bán, và quản lý danh sách yêu thích.

● Ứng dụng minh họa này tạo ra giá trị không chỉ trong việc học mà còn là nền tảng để phát triển thêm các ý tưởng kinh doanh hoặc nghiên cứu chuyên sâu trong tương lai. Khai phá lĩnh vực đầy tiềm năng: ● Thị trường NFT tiếp tục tăng trưởng, với sự quan tâm từ các tập đoàn lớn và cộng đồng nhà phát triển toàn cầu. Điều này thúc đẩy việc nghiên cứu để bắt kịp xu thế. ● Khám phá các khía cạnh pháp lý, quyền sở hữu trí tuệ và bảo mật liên quan đến NFT, góp phần xây dựng hệ sinh thái công nghệ lành mạnh.

Mục tiêu định hướng tương lai: ● Đề tài tạo nền tảng để nghiên cứu các lĩnh vực liên quan như DeFi (Decentralized Finance), DAO (Decentralized Autonomous Organization), hoặc tích hợp Machine Learning để tối ưu hóa giao dịch NFT. ● Mở rộng các ý tưởng ứng dụng blockchain trong giáo dục, y tế, và các lĩnh vực công cộng khác. Mục tiêu Mục tiêu chính:  Nghiên cứu khái niệm và công nghệ NFT: 2 o Tìm hiểu cách NFT hoạt động trên blockchain, bao gồm cách tạo (mint), lưu trữ metadata, và giao dịch. o Hiểu rõ các tiêu chuẩn phổ biến như ERC-721, ERC-1155, và vai trò của smart contract trong việc quản lý NFT.

 Xây dựng một ứng dụng minh họa marketplace NFT: o Tích hợp các tính năng cốt lõi như niêm yết, mua bán, yêu thích, và theo dõi lịch sử giao dịch NFT. o Cung cấp giao diện trực quan, dễ sử dụng cho người dùng.  Áp dụng công nghệ blockchain vào ứng dụng thực tiễn: o Sử dụng các công cụ và framework như Web3.js để kết nối với blockchain. o Lưu trữ metadata của NFT trên hệ thống phi tập trung như IPFS để đảm bảo tính toàn vẹn và minh bạch.

 Thiết kế hệ thống hiệu quả và bảo mật: o Xây dựng kiến trúc RESTful API để giao tiếp giữa backend và frontend. o Đảm bảo bảo mật trong giao dịch bằng cách sử dụng các phương pháp xác thực như JWT và smart contract an toàn.  Đánh giá tính khả thi và tiềm năng phát triển của NFT: o Xác định các ứng dụng thực tiễn của NFT trong nhiều lĩnh vực như nghệ thuật, âm nhạc, bất động sản ảo. o Đưa ra đề xuất cải tiến và mở rộng ứng dụng trong tương lai.

Mục tiêu cụ thể: 3  Frontend: o Thiết kế giao diện người dùng hiện đại (React). o Hiển thị danh sách NFT, thông tin chi tiết, và các giao dịch trên marketplace.  Backend: o Xây dựng server API bằng ExpressJS để quản lý dữ liệu người dùng, giao dịch, và trạng thái của NFT. o Tích hợp cơ sở dữ liệu MongoDB để lưu trữ thông tin người dùng, NFT, và lịch sử giao dịch.

 Blockchain: o Kết nối ứng dụng với blockchain Ethereum hoặc Polygon để thực hiện các giao dịch NFT. o Sử dụng smart contract để quản lý niêm yết và giao dịch NFT an toàn.  Thông báo realtime: o Sử dụng Socket.io để cập nhật trạng thái giao dịch và hiển thị realtime. Phạm vi Người dùng chính:  Nhà sáng tạo nội dung (Creators): Những người muốn mint NFT từ collection admin đã deploy sẵn.

4  Nhà đầu tư hoặc nhà sưu tập (Collectors): Những người mua NFT để sưu tập hoặc đầu tư vào tài sản số. Chức năng chính: ● Kết nối ví điện tử: o Người dùng có thể kết nối ví MetaMask, Trust Wallet hoặc các ví tương thích khác để thực hiện giao dịch. ● Quản lý tài khoản cá nhân: o Người dùng đăng nhập kết nối với tài khoản ví và quản lý thông tin cá nhân, ví điện tử. ● Giao dịch NFT: o Cho phép người dùng tạo, mua bán, đấu giá, hoặc trao đổi NFT trên nền tảng.

● Quản lý bộ sưu tập NFT: o Người dùng có thể lưu trữ, xem lại, và tổ chức bộ sưu tập NFT của mình. ● Theo dõi lịch sử giao dịch: o Hệ thống cung cấp chi tiết các giao dịch đã thực hiện, bao gồm mua, bán, và đấu giá NFT. ● Thông báo thời gian thực: o Cập nhật trạng thái giao dịch, đấu giá. Nền tảng: 5 ● Hoạt động trên trình duyệt web, tương thích với tất cả các trình duyệt phổ biến (Google Chrome, Firefox, Safari, Microsoft Edge).

● Sử dụng mạng blockchain Ethereum để quản lý NFT và các giao dịch. Đối tượng  Người dùng cuối (End User): o Các nhà sáng tạo nội dung mong muốn tạo và bán các sản phẩm NFT của mình. o Các nhà sưu tập và nhà đầu tư muốn mua NFT để lưu giữ hoặc kinh doanh.  Nhà phát triển (Developers): o Quản lý, bảo trì hệ thống và đảm bảo nền tảng hoạt động ổn định.

o Triển khai và kiểm thử các smart contract, cải tiến hệ thống dựa trên phản hồi của người dùng. Phương pháp thực hiện 1. Giai đoạn nghiên cứu lý thuyết ● Tìm hiểu khái niệm và công nghệ liên quan: o Tìm hiểu về công nghệ blockchain và các tiêu chuẩn NFT phổ biến như ERC-721, ERC-1155. o Nghiên cứu cơ chế hoạt động của smart contract và cách kết nối với blockchain thông qua Web3.js hoặc Ethers.

o Tìm hiểu cách lưu trữ metadata của NFT trên hệ thống phi tập trung như IPFS. ● Phân tích các yêu cầu hệ thống: 6 o Thu thập yêu cầu từ mục tiêu đề tài: các chức năng như niêm yết, mua bán NFT, theo dõi giao dịch. o Đưa ra kiến trúc hệ thống phù hợp, bao gồm frontend, backend, cơ sở dữ liệu và blockchain. ● Lựa chọn công cụ và công nghệ: o Frontend: React (web), React Native (mobile).js với ExpressJS.

o Database: MongoDB để lưu trữ thông tin người dùng, NFT, và lịch sử giao dịch. o Blockchain: Ethereum hoặc Polygon. o Công cụ hỗ trợ: Postman, Git, Figma, draw. Giai đoạn thiết kế ● Thiết kế giao diện người dùng (UI/UX): o Sử dụng Figma để tạo giao diện người dùng.

o Đảm bảo thiết kế thân thiện, hiện đại ● Thiết kế hệ thống: o Kiến trúc hệ thống: ▪ Backend: RESTful API để giao tiếp với frontend và blockchain. ▪ Frontend: Kết nối với backend qua API, hiển thị thông tin và xử lý tương tác. o Sơ đồ cơ sở dữ liệu: 7 ▪ Thiết kế các collection trong MongoDB (users, nfts, userActions, nftSalesHistory,. o Viết smart contract: ▪ Sử dụng Solidity để viết và kiểm thử smart contract cho các chức năng chính: tạo NFT, niêm yết, mua bán.

Giai đoạn triển khai  Phát triển backend: o Xây dựng server API bằng ExpressJS để xử lý các yêu cầu từ frontend và kết nối với blockchain. o Tích hợp cơ sở dữ liệu MongoDB để lưu trữ thông tin người dùng, NFT, và lịch sử giao dịch. o Sử dụng Web3.js để kết nối với smart contract.  Phát triển frontend: o Sử dụng React để xây dựng giao diện web g.

o Hiển thị danh sách NFT, thông tin chi tiết và các giao dịch realtime.  Kết nối blockchain: o Triển khai smart contract lên blockchain (Sepolia Ethereum testnet). o Sử dụng IPFS để lưu trữ metadata của NFT.  Tích hợp realtime: o Sử dụng Socket.io để đồng bộ dữ liệu và cập nhật trạng thái giao dịch NFT trên ứng dụng.

Kết quả mong đợi  Xây dựng thành công một nền tảng giao dịch NFT hiện đại, minh bạch và an toàn, đáp ứng nhu cầu giao dịch và quản lý NFT của người dùng.  Cung cấp trải nghiệm người dùng thân thiện, giúp người mới dễ dàng tiếp cận blockchain và NFT.  Hỗ trợ các nhà sáng tạo nội dung trong việc biến sản phẩm kỹ thuật số của họ thành NFT và đưa ra thị trường.  Tạo ra một cộng đồng NFT gắn kết, nơi người dùng có thể giao lưu, mua bán, và trao đổi NFT một cách hiệu quả.

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