Xây dựng nền tảng giao dịch NFT phi tập trung từ con số không
Đối với NFT 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, các sàn giao dịch NFT chủ yếu sử dụng phương thức đặt lệnh để giao dịch, tương tự như việc đặt hàng hóa trên kệ siêu thị, người mua có thể trực tiếp mua nếu thấy giá cả hợp lý. Bài viết này sẽ thông qua việc viết hợp đồng thông minh và một 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.
NFT(Non-Fungible Token)Giới thiệu
NFT tức là token không thể thay thế, mỗi token đều độc nhất, 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ó một ID duy nhất để phân biệt.
Do đặc điểm của NFT, không thể thiết lập giá thông qua đường cong giá như mã thông báo ERC-20. Do đó, hình thức giao dịch phổ biến hiện nay là thông qua sổ lệnh.
Chế độ giao dịch sổ lệnh
Mô hình sổ đặt hàng đơn giản có thể hiểu là giá của hàng hóa được quy định bởi con người, khác với cách tính 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ể trực tiếp mua.
Đơn yêu cầu mua: Người mua phát hành đơn yêu cầu 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 sẽ thấp hơn giá niêm yết. Bài viết này chủ yếu giới thiệu về mô hình đơn đặt giá.
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 bao gồm các chức năng sau:
Đưa sản phẩm lên: Đưa NFT lên nền tảng theo mức giá đã định.
Mua hàng: Mua theo giá của NFT
Phí nền tảng: Theo tỷ lệ thu phí dựa trên giá giao dịch
quy trình niêm yết sản phẩm
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 thực hiện NFT
Hợp đồng cần duy trì 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, trong bài viết này sẽ lưu trữ trực tiếp trong hợp đồng.
Quy trình mua hàng
Frontend: 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 chuyển cho người mua
Thực hiện nền tảng giao dịch NFT
1. Tạo NFT thử nghiệm
Có thể triển khai nhanh một hợp đồng NFT theo giao thức ERC-721 để kiểm tra thông qua Remix.
2. Viết hợp đồng thông minh
Hợp đồng nên bao gồm các chức năng chính sau:
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ể định giá bằng USDT, USDC hoặc ETH )
Ủy quyền NFT cho hợp đồng
Gọi phương pháp niêm yết
Phương pháp niêm yết cần:
Xác thực 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:
Đọc dữ liệu NFT từ listings
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 sắm
2.3 Huỷ niêm yết
Chỉ cần đặt trường isActive của NFT tương ứng trong listings thành false.
2.4 Rút phí giao dịch
Rút phí tích lũy trong hợp đồng về địa chỉ chỉ định.
3. Phát triển giao diện người dùng
Sử dụng các công cụ sau:
Ant Design Web3: Kết nối ví và hiển thị NFT
Wagmi: tương tác với ví
Next.js + Vercel: triển khai dự án
Giao diện chính bao gồm ba trang chính:
Mint: dùng để tạo NFT thử nghiệm
Mua: Thị trường giao dịch NFT, có thể mua NFT
Danh mục: Quản lý NFT của người dùng, hỗ trợ đăng lên và gỡ xuống
3.1 Kết nối ví
Sử dụng thành phần kết nối của Ant Design Web3 để thực hiện.
3.2 Trang Mint
Sử dụng phương pháp useWriteContract của wagmi để gọi phương thức mint của hợp đồng NFT.
3.3 Trang Portfolio
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.
Khi niêm yết, gọi phương thức listNFT, khi hủy bỏ, 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 tất cả các NFT đã được niêm yết, gọi phương thức purchaseNFT để thực hiện việc mua.
Đế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 dự án lên 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.
Xây dựng nền tảng giao dịch NFT phi tập trung từ 0 đến 1 toàn bộ quy trình
Xây dựng nền tảng giao dịch NFT phi tập trung từ con số không
Đối với NFT 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, các sàn giao dịch NFT chủ yếu sử dụng phương thức đặt lệnh để giao dịch, tương tự như việc đặt hàng hóa trên kệ siêu thị, người mua có thể trực tiếp mua nếu thấy giá cả hợp lý. Bài viết này sẽ thông qua việc viết hợp đồng thông minh và một 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.
NFT(Non-Fungible Token)Giới thiệu
NFT tức là token không thể thay thế, mỗi token đều độc nhất, 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ó một ID duy nhất để phân biệt.
Do đặc điểm của NFT, không thể thiết lập giá thông qua đường cong giá như mã thông báo ERC-20. Do đó, hình thức giao dịch phổ biến hiện nay là thông qua sổ lệnh.
Chế độ giao dịch sổ lệnh
Mô hình sổ đặt hàng đơn giản có thể hiểu là giá của hàng hóa được quy định bởi con người, khác với cách tính 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ể trực tiếp mua.
Đơn yêu cầu mua: Người mua phát hành đơn yêu cầu 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 sẽ thấp hơn giá niêm yết. Bài viết này chủ yếu giới thiệu về mô hình đơn đặt giá.
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 bao gồm các chức năng sau:
quy trình niêm yết sản phẩm
Hợp đồng cần duy trì 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, trong bài viết này sẽ lưu trữ trực tiếp trong hợp đồng.
Quy trình mua hàng
Thực hiện nền tảng giao dịch NFT
1. Tạo NFT thử nghiệm
Có thể triển khai nhanh một hợp đồng NFT theo giao thức ERC-721 để kiểm tra thông qua Remix.
2. Viết hợp đồng thông minh
Hợp đồng nên bao gồm các chức năng chính sau:
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
Quy trình:
2.3 Huỷ niêm yết
Chỉ cần đặt trường isActive của NFT tương ứng trong listings thành false.
2.4 Rút phí giao dịch
Rút phí tích lũy trong hợp đồng về địa chỉ chỉ định.
3. Phát triển giao diện người dùng
Sử dụng các công cụ sau:
Giao diện chính bao gồm ba trang chính:
3.1 Kết nối ví
Sử dụng thành phần kết nối của Ant Design Web3 để thực hiện.
3.2 Trang Mint
Sử dụng phương pháp useWriteContract của wagmi để gọi phương thức mint của hợp đồng NFT.
3.3 Trang Portfolio
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.
Khi niêm yết, gọi phương thức listNFT, khi hủy bỏ, 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 tất cả các NFT đã được niêm yết, gọi phương thức purchaseNFT để thực hiện việc mua.
Đế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 dự án lên Vercel để thử nghiệm và sử dụng.