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.
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.
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:
Đơ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.
Đơ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.
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:
Đưa hàng hóa lên kệ: Đưa NFT lên kệ theo giá đã định.
Mua hàng: Mua theo giá định giá NFT
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:
Giao diện: Người dùng chọn NFT và đặt 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.
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:
Giao diện: Người dùng chọn NFT muốn mua, nhấp vào mua.
Hợp đồng: Chuyển tiền của người mua cho người bán, NFT cho người mua.
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ó.
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:
Người dùng chọn NFT
Thiết lập giá ( có thể được định giá bằng stablecoin hoặc ETH )
Ủy quyền NFT cho hợp đồng
Phương pháp niêm yết cần:
Xác minh quyền sở hữu NFT
Thêm hồ sơ niêm yết
Kích hoạt sự kiện niêm yết
2.2 Người mua mua NFT
Các bước thực hiện hợp đồng:
Đọc dữ liệu 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
Đặ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.
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í.
3.2 Đúc
Sử dụng phương pháp useWriteContract của wagmi để thực hiện việc đúc NFT.
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.
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.
Đế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.
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.
22 thích
Phần thưởng
22
9
Đăng lại
Chia sẻ
Bình luận
0/400
AirdropHunterKing
· 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
CryptoPhoenix
· 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
LiquidityOracle
· 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-afe07a92
· 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
LiquidityWitch
· 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ự.
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.
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.
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:
Đơ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.
Đơ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.
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:
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:
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:
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ó.
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:
Phương pháp niêm yết cần:
2.2 Người mua mua NFT
Các bước thực hiện hợp đồng:
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.
3. Phát triển giao diện DEX
Sử dụng công cụ:
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í.
3.2 Đúc
Sử dụng phương pháp useWriteContract của wagmi để thực hiện việc đúc NFT.
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.
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.
Đế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.