Xây dựng nền tảng giao dịch NFT Phi tập trung: từ hợp đồng thông minh đến giao diện người dùng

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

Đối với NFT tuân theo giao thức ERC-721, làm thế nào để thực hiện giao dịch Phi tập trung? Hiện nay, phương thức giao dịch NFT chủ yếu là sử dụng mô hình sổ đặt hàng, tương tự như việc trưng bày hàng hóa trên kệ, 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 giao diện đơn giản, thực hiện một nền tảng giao dịch NFT Phi tập trung cơ bản.

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

Các chức năng cơ bản của nền tảng NFT

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

  1. Đưa NFT lên nền tảng: Người bán có thể đặt giá để đưa NFT lên.
  2. Mua NFT: Người mua có thể mua NFT đã được niêm yết theo giá định sẵn.
  3. Thu phí giao dịch: nền tảng có thể trích một tỷ lệ phần trăm nhất định từ giá giao dịch.

lên kệ NFT

Quy trình niêm yết NFT như sau:

  1. Người bán chọn NFT muốn niêm yết và đặt giá
  2. Người bán ủy quyền hợp đồng giao dịch có thể thao tác NFT đó.
  3. Gọi phương thức niêm yết của hợp đồng, ghi lại thông tin niêm yết

Mua NFT

Quy trình mua NFT như sau:

  1. Người mua chọn NFT muốn mua
  2. Gọi phương thức mua của hợp đồng
  3. Hợp đồng sẽ 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 người mới series: Từ số không thực hiện một NFT DEX

Thực hiện nền tảng giao dịch

1. Tạo NFT thử nghiệm

Bạn có thể sử dụng Remix để nhanh chóng triển khai một hợp đồng NFT theo giao thức ERC-721 để thử nghiệm.

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

2. Viết hợp đồng giao dịch

Hợp đồng giao dịch cần thực hiện các phương pháp chính sau:

2.1 Lên kệ NFT

solidity function listNFT(address nftAddress, uint256 tokenId, uint256 price) public { // Xác thực quyền sở hữu NFT // Ghi lại thông tin niêm yết
// Kích hoạt sự kiện niêm yết }

2.2 Mua NFT

solidity function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Lấy thông tin niêm yết NFT // Tính toán và trừ phí giao dịch // Chuyển NFT cho người mua // Kích hoạt sự kiện mua
}

2.3 Hủy niêm yết

solidity function cancelListing(address nftAddress, uint256 tokenId) public { // Xác thực quyền thao tác // Đặt trạng thái niêm yết thành không hợp lệ // Kích hoạt sự kiện hủy bỏ }

2.4 Rút phí giao dịch

solidity function withdrawFees() public onlyOwner { // Chuyển phí giao dịch trong hợp đồng }

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

3. Phát triển giao diện người dùng

Sử dụng các công cụ sau để phát triển front-end:

  • Ant Design Web3: sử 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 chính bao gồm các trang sau:

  • Mint: được sử dụng để tạo NFT thử nghiệm
  • Mua:Nền tảng giao dịch NFT, có thể mua NFT được niêm yết
  • Portfolio: Quản lý NFT của người dùng, có thể niêm yết và gỡ bỏ.

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í.

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

3.2 Trang Mint

Gọi phương thức mint của hợp đồng NFT để tạo NFT thử nghiệm.

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

3.3 Trang Portfolio

  • Lấy NFT mà người dùng sở hữu
  • Xác định xem NFT có đã được niêm yết hay không
  • Thực hiện chức năng niêm yết và gỡ bỏ NFT

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

3.4 Trang mua

  • Hiển thị tất cả NFT đã được niêm yết
  • Thực hiện chức năng mua sắm

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

Đến đây, một nền tảng giao dịch NFT phi tập trung cơ bản đã hoàn thành. Có thể triển khai nó lên Vercel để thử nghiệm.

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

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

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

Chuỗi bài viết cho người mới Web3: Từ con số không để xây dựng một nền tảng NFT DEX

Web3 mới bắt đầu: Từ con số không tạo ra một DEX NFT

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
  • 6
  • Chia sẻ
Bình luận
0/400
LiquidationWatchervip
· 07-04 15:00
đã trải qua quá nhiều vụ rugpull để tin tưởng một dex khác... hãy chú ý đến những khoản phí và hợp đồng thông minh fam
Xem bản gốcTrả lời0
hodl_therapistvip
· 07-04 10:30
Học cả ngày về hợp đồng thông minh lại phải bắt đầu từ front-end sao?
Xem bản gốcTrả lời0
MetaverseLandladyvip
· 07-01 16:13
Phí giao dịch không thể tốt hơn, tiền mà bà chủ cho thuê kiếm được cũng sắp bị chơi đùa với mọi người hết rồi.
Xem bản gốcTrả lời0
ChainMelonWatchervip
· 07-01 16:12
Phí giao dịch chắc chắn là thuế trí tuệ rồi.
Xem bản gốcTrả lời0
GasFeeCriervip
· 07-01 16:04
Lại phát hành gas coin, khi nào mới rẻ hơn một chút?
Xem bản gốcTrả lời0
FlashLoanKingvip
· 07-01 15:54
Cười chết, lại đang cạnh tranh hợp đồng thông minh
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)