Hướng dẫn toàn diện xây dựng nền tảng giao dịch NFT phi tập trung từ con số không

Tạo dựng một nền tảng giao dịch NFT phi tập trung từ con số 0

Trong quá trình nghiên cứu sâu về giao dịch phi tập trung của token ERC-20, chúng ta không thể không tự hỏi: Làm thế nào để thực hiện giao dịch phi tập trung của giao thức ERC-721 (tức là NFT)?

Hiện nay, các nền tảng giao dịch NFT chính thống áp dụng mô hình đặt hàng để thực hiện giao dịch, tương tự như việc trưng bày hàng hóa trên kệ siêu thị. Người mua có thể trực tiếp mua NFT với giá phù hợp.

Bài viết này sẽ dẫn bạn từng bước xây dựng một nền tảng giao dịch NFT phi tập trung đơn giản, bao gồm việc viết hợp đồng thông minh và phát triển giao diện front-end cơ bản. Xin lưu ý, nội dung bài viết chỉ để tham khảo học tập, không phù hợp cho môi trường sản xuất thực tế.

Web3新手系列:从零实现一个NFT DEX

Giới thiệu về NFT

NFT (Non-Fungible Token) tuân theo giao thức ERC-721, mỗi Token đều độc nhất vô nhị. NFT thường được hiển thị trong ví dưới dạng hình ảnh khác nhau và có ID riêng biệt để phân biệt.

Do tính độc đáo của NFT, không thể định giá giống như token ERC-20 thông qua đường cong giá. Do đó, cách giao dịch NFT phổ biến là sử dụng hình thức sổ lệnh.

Web3 mới bắt đầu: Thực hiện một NFT DEX từ con số 0

Chế độ giao dịch sổ lệnh

Giao dịch sổ lệnh chủ yếu có hai chế độ:

  1. Đơn định giá: Người bán đặt giá bán, người mua cảm thấy hợp lý thì có thể mua.
  2. Đơn đặt hàng: Người mua phát hành đơn đặt hàng, người bán có thể bán sau khi đồng ý giá.

Thường thì giá của đơn đặt hàng sẽ thấp hơn giá niêm yết. Bài viết này sẽ tập trung vào mô hình đơn đặt hàng niêm yết.

Web3 người mới series: Từ số không thực hiện một nền tảng NFT DEX

Chức năng cốt lõi của nền tảng giao dịch NFT Phi tập trung

Một nền tảng giao dịch NFT phi tập trung cơ bản nên có các chức năng sau:

  1. Đưa NFT lên kệ: Cho phép người dùng định giá đưa NFT lên kệ
  2. Mua NFT: Người dùng có thể mua NFT theo giá định sẵn.
  3. Phí giao dịch nền tảng: Tính phí giao dịch theo tỷ lệ nhất định dựa trên giá giao dịch.

quy trình niêm yết NFT

  1. Giao diện người dùng: Người dùng chọn NFT và thiết lập giá, nhấp vào niêm yết.
  2. Hợp đồng: Người dùng ủy quyền hợp đồng thao tác NFT của họ.

Hợp đồng cần duy trì một bảng ánh xạ giá sản phẩm do người dùng niêm yết. Mặc dù phần dữ liệu này có thể được lưu trữ trong dịch vụ phi tập trung để giảm bớt gánh nặng cho hợp đồng, nhưng bài viết này sẽ giữ nó trong hợp đồng.

quy trình mua NFT

  1. Giao diện người dùng: Người dùng chọn NFT muốn mua, nhấn mua.
  2. Hợp đồng: Thực hiện thao tác chuyển khoản, chuyển tiền của người mua cho người bán, đồng thời chuyển NFT cho người mua.

Web3 mới bắt đầu: Từ con số không hiện thực hóa một nền tảng NFT DEX

Xây dựng nền tảng giao dịch NFT phi tập trung

Tiếp theo, chúng ta sẽ từng bước triển khai một nền tảng giao dịch phi tập trung NFT.

1. Tạo NFT thử nghiệm

Để phục vụ cho mục đích thử nghiệm, chúng ta có thể sử dụng Remix để triển khai nhanh một hợp đồng NFT tuân theo giao thức ERC-721. Tất nhiên, chúng ta cũng có thể sử dụng trực tiếp NFT hiện có để thử nghiệm.

Web3 mới bắt đầu: Từ con số không để thực hiện một nền tảng NFT DEX

2. Phát triển hợp đồng thông minh

Hợp đồng của chúng tôi cần bao gồm các chức năng cốt lõi sau:

2.1 Đưa NFT lên nền tảng

Người bán cần chỉ định NFT và giá khi niêm yết NFT. Quá trình niêm yết bao gồm:

  1. Người dùng chọn NFT
  2. Thiết lập giá (có thể sử dụng USDT, USDC hoặc ETH)
  3. Ủy quyền NFT cho hợp đồng

Phương pháp niêm yết hợp đồng cần hoàn thành:

  1. Xác minh quyền sở hữu NFT
  2. Thêm hồ sơ niêm yết
  3. Kích hoạt sự kiện lên kệ

Web3 người mới bắt đầu: Từ con số không thực hiện một NFT DEX

2.2 Mua NFT

Khi người mua mua NFT, hợp đồng cần được thực hiện:

  1. Đọc dữ liệu NFT
  2. Tính toán và trừ phí giao dịch
  3. Chuyển nhượng NFT cho người mua
  4. Kích hoạt sự kiện mua

Web3 người mới series: Từ con số không thực hiện một nền tảng NFT DEX

2.3 Hủy niêm yết

Người bán có thể hủy niêm yết NFT. Trong hợp đồng, sử dụng trường isActive để đánh dấu xem sản phẩm có hợp lệ hay không, khi hủy niêm yết chỉ cần đặt trường này thành false.

Web3 người mới series: Từ con số không thực hiện một nền tảng NFT DEX

2.4 Phí rút tiền

nền tảng có thể thu phí giao dịch trên mỗi giao dịch, trong trường hợp này phí sẽ được lưu trữ trong hợp đồng.

Web3 tân binh series: Từ số không hiện thực hóa một nền tảng NFT DEX

3. Phát triển giao diện

Phát triển front-end sử dụng các công cụ sau:

  • Ant Design Web3:dùng để kết nối ví và trình bày NFT
  • Wagmi: Thực hiện tương tác ví
  • Nextjs + Vercel:triển khai dự án

Các ứng dụng front-end bao gồm ba trang chính: Mint, Buy và Portfolio.

3.1 Kết nối ví

Sử dụng thành phần kết nối Web3 của Ant Design để thực hiện chức năng kết nối ví. Để tăng tốc độ truy vấn, khuyên dùng dịch vụ nút như endpoint của ZAN.

Web3 người mới series: Từ con số không thực hiện một NFT DEX

3.2 Trang Mint

Sử dụng phương pháp useWriteContract của wagmi để thực hiện chức năng đúc NFT.

Web3 người mới series: Từ số không thực hiện một nền tảng NFT DEX

3.3 Trang Portfolio

Hiển thị NFT mà người dùng sở hữu, hỗ trợ các thao tác lên và hạ sản phẩm. Sử dụng API opensea để lấy danh sách NFT và xác định trạng thái niêm yết NFT thông qua phương pháp hợp đồng.

Web3 người mới series: Từ số không để thực hiện một NFT DEX

3.4 Trang mua

Hiển thị tất cả các NFT đã được niêm yết và cung cấp chức năng mua. Khi mua, gọi phương thức purchaseNFT và thanh toán bằng ETH.

Web3 mới bắt đầu: Từ con số không thực hiện một nền tảng NFT DEX

Hoàn thành các bước trên, một nền tảng giao dịch NFT phi tập trung cơ bản đã được xây dựng. Bạn có thể triển khai nó trên các nền tảng như Vercel để thử nghiệm và sử dụng.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 6
  • Chia sẻ
Bình luận
0/400
NotGonnaMakeItvip
· 8giờ trước
Bẫy này thật tuyệt, khi nào Mã nguồn mở?
Xem bản gốcTrả lời0
SocialFiQueenvip
· 07-20 02:58
Bắt kịp xu hướng Đúng rồi, từ lâu đã nên tự mình làm rồi.
Xem bản gốcTrả lời0
GateUser-ccc36bc5vip
· 07-20 02:58
Bao giờ Mã nguồn mở vậy?
Xem bản gốcTrả lời0
bridge_anxietyvip
· 07-20 02:57
lệnh chờ giao dịch đã lỗi thời
Xem bản gốcTrả lời0
TokenSherpavip
· 07-20 02:43
thực sự điều này khá cơ bản... đã thấy những triển khai tốt hơn trong những ngày tôi tư vấn cho dao thật sự.
Xem bản gốcTrả lời0
HashBanditvip
· 07-20 02:40
vẫn đang chờ đợi việc mở rộng l2 để giao dịch nft trở nên dễ chịu hơn... những phí gas giết tôi mỗi lần smh
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)