Xây dựng sàn giao dịch NFT phi tập trung từ con số không: Hướng dẫn phát triển hợp đồng và giao diện phía trước

Xây dựng sàn giao dịch NFT phi tập trung từ con số không

Độc giả đã đọc qua vài bài viết trước đây chắc hẳn hiểu rằng, đối với token theo giao thức ERC-20, chúng ta có thể thực hiện giao dịch thông qua một sàn giao dịch phi tập trung như DEX. Vậy đối với giao thức ERC-721, tức là NFT, làm thế nào để thực hiện giao dịch phi tập trung?

Hiện nay, các nền tảng giao dịch NFT chủ yếu sử dụng phương thức đặt lệnh, tương tự như việc trưng bày hàng hóa trên kệ siêu thị, người mua cảm thấy giá hợp lý thì có thể mua.

Bài viết này sẽ thông qua việc viết hợp đồng thông minh và trang trước đơn giản, thực hiện giao dịch NFT phi tập trung. Cần lưu ý rằng, nội dung bài viết này chỉ dành cho học tập tham khảo, không áp dụng cho môi trường sản xuất.

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

NFT( không đồng nhất hóa mã thông báo )

NFT tức là token không đồng nhất, tuân theo giao thức ERC-721, mỗi token đều là duy nhất. Thông thường NFT trong ví sẽ hiển thị những hình ảnh khác nhau, và mỗi nhóm NFT đều có ID duy nhất để phân biệt.

Do đặc tính của NFT, không thể đặt giá như ERC-20 thông qua đường cong giá. Hiện tại, cách giao dịch phổ biến là thông qua hình thức sổ lệnh.

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

Giao dịch sổ lệnh

Mô hình sổ đặt hàng đơn giản là cách con người thiết lập giá sản phẩm, khác với một số DEX tính toán giá thông qua đường cong giá. Sổ đặt hàng thường có hai chế độ giao dịch:

  1. Đơn định giá: Người bán thiết lập giá bán, người mua thấy hợp lý thì có thể mua.

  2. Đơn yêu cầu mua: Người mua phát hành đơn yêu cầu mua, người bán cảm thấy giá cả hợp lý thì có thể bán.

Thông thường, giá mua sẽ thấp hơn giá định giá. Bài viết này chỉ giới thiệu phương thức định giá đầu tiên.

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

Chức năng cơ bản của NFT DEX

Một DEX NFT nên bao gồm các chức năng cơ bản sau:

  1. Đưa hàng hóa lên kệ: Đưa NFT lên kệ theo giá đã định.
  2. Mua hàng: Mua theo giá định giá NFT
  3. Phí giao dịch DEX: thu phí theo tỷ lệ giá giao dịch.

hàng hóa được niêm yết

Việc niêm yết sản phẩm cần hoàn thành:

  1. Giao diện: Người dùng chọn NFT và đặt 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.

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

Mua hàng

Khi mua hàng sẽ xảy ra:

  1. Giao diện: Người dùng chọn NFT muốn mua, nhấp vào mua.
  2. Hợp đồng: Chuyển tiền của người mua cho người bán, NFT cho người mua.

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

Thực hiện NFT DEX

Chúng tôi sẽ bắt đầu từ con số không để thực hiện một NFT DEX.

1. Tạo NFT

Để phục vụ cho việc kiểm tra, chúng ta có thể nhanh chóng tạo một NFT theo giao thức ERC-721 thông qua Remix. Chúng ta cũng có thể bỏ qua bước này và sử dụng NFT hiện có.

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

2. Viết hợp đồng

Phương pháp hợp đồng nên bao gồm:

2.1 Người bán niêm yết NFT

Quy trình:

  1. Người dùng chọn NFT
  2. Thiết lập giá ( có thể được định giá bằng stablecoin hoặc ETH )
  3. Ủy quyền NFT cho hợp đồng

Phương pháp niêm yết cần:

  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 niêm yết

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

2.2 Người mua mua NFT

Các bước thực hiện hợp đồng:

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

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

2.3 Hủy niêm yết

Đặt trường isActive của bản ghi niêm yết thành false.

2.4 Phí rút tiền

DEX có thể thu phí giao dịch trong mỗi giao dịch, gửi vào hợp đồng hoặc chuyển đến địa chỉ chỉ định. Bài viết này sử dụng phương thức gửi vào hợp đồng.

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

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

Sử dụng công cụ:

  • Ant Design Web3: Kết nối ví và hiển thị thẻ NFT
  • Wagmi: Tương tác với ví
  • Nextjs + Vercel: Triển khai dự án

Giao diện người dùng bao gồm ba trang: 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 kết nối ví.

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

3.2 Đúc

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

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

3.3 Danh mục đầu tư

Hiển thị NFT của người dùng, hỗ trợ thao tác niêm yết và gỡ niêm yết. Sử dụng API opensea để lấy danh sách NFT, qua hợp đồng xác định xem có đã được niêm yết hay không.

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

3.4 Mua

Hiện thị NFT đã được niêm yết, hỗ trợ thao tác mua. Gọi phương thức purchaseNFT để hoàn thành giao dịch.

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

Đến đây, một trang giao diện DEX NFT với chức năng cơ bản đã hoàn thành, có thể được triển khai trên Vercel.

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

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
  • 9
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
AirdropHunterKingvip
· 08-09 19:23
gas đã bay lên trời rồi, đừng nghiên cứu những thứ này nữa.
Xem bản gốcTrả lời0
CryptoPhoenixvip
· 08-08 21:10
Thời điểm phát triển tốt nhất thực sự là ở khu vực đáy. Hãy kiên nhẫn chờ đợi để thu hoạch kết quả.
Xem bản gốcTrả lời0
LiquidityOraclevip
· 08-07 16:48
Hả? Lại xây dựng một sàn giao dịch nft nữa?
Xem bản gốcTrả lời0
GateUser-afe07a92vip
· 08-07 02:57
Cuối cùng cũng có thể bán được MONKY mà mình đã giữ.
Xem bản gốcTrả lời0
LiquidityWitchvip
· 08-07 02:56
ủ bia một chút phép thuật dex bị cấm... không nói dối, cấu trúc thị trường này cần một bản nâng cấp nghi lễ đen thật sự.
Xem bản gốcTrả lời0
Blockblindvip
· 08-07 02:51
Phát triển hay không chỉ là bán thôi.
Xem bản gốcTrả lời0
LuckyBlindCatvip
· 08-07 02:50
A ha, cuối cùng cũng có người nói về điều này.
Xem bản gốcTrả lời0
MEVHunterWangvip
· 08-07 02:45
Ôi lại một hướng dẫn chỉ nói suông.
Xem bản gốcTrả lời0
  • Ghim
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)