Bước từng bước để tạo nền tảng giao dịch NFT Phi tập trung: từ hợp đồng đến hiện thực hóa giao diện người dùng

robot
Đang tạo bản tóm tắt

Thực hiện giao dịch NFT Phi tập trung

Đối với NFT tuân theo giao thức ERC-721, cách thực hiện giao dịch phi tập trung khác với token ERC-20. Hiện tại, nhiều nền tảng giao dịch NFT chính thống thường sử dụng mô hình niêm yết để giao dịch, giống như việc trưng bày hàng hóa trên kệ siêu thị, người mua có thể mua sản phẩm với mức giá phù hợp mà họ ưng ý.

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

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

Đặc điểm cơ bản của NFT

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

Do đặc điểm này của NFT, không thể xác định giá thông qua đường cong giá như các token ERC-20. Do đó, hình thức giao dịch phổ biến hiện nay là qua sổ lệnh.

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

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

Trong chế độ sổ lệnh, giá sản phẩm được thiết lập bởi con người, khác với chế độ tạo lập thị trường tự động tính toán giá bằng thuật toán. Sổ lệnh thường có hai hình thức giao dịch:

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

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

Thông thường, giá của đơn đặt hàng mua sẽ thấp hơn giá của đơn đặt hàng định giá. Bài viết này sẽ tập trung vào phương thức giao dịch đơn đặt hàng định giá.

Web3 mới bắt đầu: 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 cơ bản nên bao gồm các chức năng cốt lõi sau:

  1. Đưa hàng hóa lên: Đưa NFT lên theo giá niêm yết.
  2. Mua hàng: Mua theo giá NFT
  3. Thu phí giao dịch: thu phí theo tỷ lệ dựa trên giá giao dịch.

Quy trình niêm yết sản phẩm

Để niêm yết sản phẩm, bạn cần hoàn thành các bước sau:

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

Trong hợp đồng cần duy trì một bảng ánh xạ giá sản phẩm mà người dùng niêm yết. Phần dữ liệu này cũng 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ẽ lưu nó trong hợp đồng.

Quy trình mua hàng

Khi mua hàng, các vấn đề sau sẽ xảy ra:

  1. Giao diện: Người dùng chọn NFT muốn mua, nhấn vào mua.
  2. Hợp đồng: Gọi hợp đồng, chuyển tiền của người mua cho người bán, và chuyể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

Tiếp theo sẽ bắt đầu từ con số không để hiện thực hóa một NFT DEX.

1. Tạo NFT thử nghiệm

Để 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. Chúng ta cũng có thể sử dụng NFT đã được chuẩn bị sẵn để thử nghiệm.

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

2. Viết hợp đồng thông minh

Hợp đồng cần bao gồm các phương thức chính sau:

2.1 Người bán đưa NFT lên sàn

Quy trình:

  1. Người dùng chọn NFT
  2. Đặt giá
  3. Ủy quyền NFT cho hợp đồng
  4. Gọi phương thức niêm yết

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

  1. Kiểm tra quyền sở hữu NFT
  2. Thêm bản ghi 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

Quy trình mua:

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

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

2.3 Huỷ niêm yết

Chỉ cần đặt trường isActive trong bản ghi niêm yết thành false.

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

2.4 Phí rút tiền

Rút phí tích lũy trong hợp đồng về địa chỉ chỉ định.

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

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

Công cụ chính cần sử dụng trong phát triển front-end:

  • Ant Design Web3: dùng để kết nối ví và hiển thị NFT
  • Wagmi: Dùng để tương tác với ví
  • Next.js + Vercel: triển khai dự án

Giao diện người dùng nên bao gồm ba trang chính: Mint, Buy và Portfolio.

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

3.1 Kết nối ví

Sử dụng Ant Design Web3 thành phần để thực hiện chức năng kết nối ví.

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

3.2 Trang Mint

Được sử dụng để đúc NFT thử nghiệm, sử dụng phương pháp useWriteContract của wagmi để gọi hợp đồng.

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

3.3 Trang Portfolio

Hiển thị NFT mà người dùng sở hữu, hỗ trợ thao tác niêm yết và gỡ niêm yết.

Khi niêm yết cần gọi phương thức listNFT, khi hủy niêm yết cần gọi phương thức cancelListing. Trước khi niêm yết cần ủy quyền NFT cho hợp đồng.

3.4 Trang Mua

Hiển thị tất cả NFT đã được niêm yết, hỗ trợ thao tác mua.

Gọi phương thức purchaseNFT khi mua, và thanh toán ETH tương ứng.

Hoàn thành các bước trên, một DEX NFT cơ bản đã được thiết lập. Có thể triển khai nó lên các nền tảng như Vercel để kiểm tra và sử dụng.

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

Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
RugPullProphetvip
· 07-08 04:56
Trước đây cũng không cần phải lăn tăn như vậy.
Xem bản gốcTrả lời0
0xInsomniavip
· 07-07 17:14
Các nhà phát triển gần đây đều thích chơi dex nhỉ?
Xem bản gốcTrả lời0
GasFeeSobbervip
· 07-06 19:00
Mong mỏi nhìn thấy bò mở khóa Solidity
Xem bản gốcTrả lời0
OPsychologyvip
· 07-06 18:58
Huấn luyện viên, tôi cũng muốn viết hợp đồng dex.
Xem bản gốcTrả lời0
just_here_for_vibesvip
· 07-06 18:55
Mã này hơi cứng cáp.
Xem bản gốcTrả lời0
BearMarketSurvivorvip
· 07-06 18:55
Một thị trường NFT khác, làm tôi thèm chết.
Xem bản gốcTrả lời0
NFTBlackHolevip
· 07-06 18:55
Cuối cùng cũng có một hướng dẫn dex đáng tin cậy.
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)