Đố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ế.
Đặ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.
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:
Đị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.
Đơ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á.
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:
Đưa hàng hóa lên: Đưa NFT lên theo giá niêm yết.
Mua hàng: Mua theo giá NFT
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:
Frontend: Người dùng chọn NFT và thiết lập giá, nhấp vào đăng bán.
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:
Giao diện: Người dùng chọn NFT muốn mua, nhấn vào mua.
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.
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.
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:
Người dùng chọn NFT
Đặt giá
Ủy quyền NFT cho hợp đồng
Gọi phương thức niêm yết
Phương pháp niêm yết cần:
Kiểm tra quyền sở hữu NFT
Thêm bản ghi niêm yết
Kích hoạt sự kiện niêm yết
2.2 Người mua mua NFT
Quy trình mua:
Đọc dữ liệu NFT
Tính toán và trừ phí giao dịch
Chuyển giao NFT cho người mua
Kích hoạt sự kiện mua hàng
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.
2.4 Phí rút tiền
Rút phí tích lũy trong hợp đồng về địa chỉ chỉ định.
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.
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í.
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.
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.
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.
10 thích
Phần thưởng
10
7
Chia sẻ
Bình luận
0/400
RugPullProphet
· 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
0xInsomnia
· 07-07 17:14
Các nhà phát triển gần đây đều thích chơi dex nhỉ?
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
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ế.
Đặ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.
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:
Đị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.
Đơ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á.
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:
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:
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:
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.
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:
Phương pháp niêm yết cần:
2.2 Người mua mua NFT
Quy trình mua:
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.
2.4 Phí rút tiền
Rút phí tích lũy trong hợp đồng về địa chỉ chỉ định.
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:
Giao diện người dùng nên bao gồm ba trang chính: Mint, Buy và Portfolio.
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í.
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.
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.