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ế.
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.
Chế độ giao dịch sổ lệnh
Giao dịch sổ lệnh chủ yếu có hai chế độ:
Đơ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.
Đơ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.
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:
Đưa NFT lên kệ: Cho phép người dùng định giá đưa NFT lên kệ
Mua NFT: Người dùng có thể mua NFT theo giá định sẵn.
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
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.
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
Giao diện người dùng: Người dùng chọn NFT muốn mua, nhấn mua.
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.
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.
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:
Người dùng chọn NFT
Thiết lập giá (có thể sử dụng USDT, USDC hoặc ETH)
Ủ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:
Xác minh quyền sở hữu NFT
Thêm hồ sơ niêm yết
Kích hoạt sự kiện lên kệ
2.2 Mua NFT
Khi người mua mua NFT, hợp đồng cần được thực hiện:
Đọc dữ liệu NFT
Tính toán và trừ phí giao dịch
Chuyển nhượng NFT cho người mua
Kích hoạt sự kiện mua
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.
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.
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.
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.
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.
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.
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.
14 thích
Phần thưởng
14
6
Chia sẻ
Bình luận
0/400
NotGonnaMakeIt
· 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
SocialFiQueen
· 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-ccc36bc5
· 07-20 02:58
Bao giờ Mã nguồn mở vậy?
Xem bản gốcTrả lời0
bridge_anxiety
· 07-20 02:57
lệnh chờ giao dịch đã lỗi thời
Xem bản gốcTrả lời0
TokenSherpa
· 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
HashBandit
· 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
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ế.
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.
Chế độ giao dịch sổ lệnh
Giao dịch sổ lệnh chủ yếu có hai chế độ:
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.
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:
quy trình niêm yết NFT
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
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.
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:
Phương pháp niêm yết hợp đồng cần hoàn thành:
2.2 Mua NFT
Khi người mua mua NFT, hợp đồng cần được thực hiện:
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.
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.
3. Phát triển giao diện
Phát triển front-end sử dụng các công cụ sau:
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.
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.
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.
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.
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.