Phát triển 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, cách thực hiện giao dịch phi tập trung khác với token ERC-20. Hiện nay, nhiều nền tảng giao dịch NFT chính thống sử dụng mô hình niêm yết, tương tự như hàng hóa được bày trên kệ siêu thị, người mua có thể tự do chọn lựa.
Bài viết này sẽ giới thiệu cách thực hiện một nền tảng giao dịch NFT phi tập trung cơ bản thông qua hợp đồng thông minh và giao diện người dùng đơn giản. Cần lưu ý rằng đây chỉ là một ví dụ học tập, không phù hợp cho môi trường sản xuất thực tế.
Đặc điểm và phương thức giao dịch NFT
NFT là viết tắt của token không đồng nhất, mỗi token đều là độc nhất vô nhị. Thông thường, NFT sẽ hiển thị hình ảnh khác nhau trong ví, và mỗi nhóm NFT đều có một ID nhận diện duy nhất.
Do đặc điểm này của NFT, không thể định giá giống như các token ERC-20 thông qua đường cong giá. Hiện tại, phương thức giao dịch phổ biến nhất là sử dụng hình thức sổ đặt hàng.
Chế độ giao dịch sổ lệnh
Mô hình sổ lệnh chủ yếu có hai hình thức:
Đơn giá: Người bán đặt giá, người mua thấy hợp lý thì có thể trực tiếp mua.
Đơn mua: Người mua phát hành đơn đặt hàng, người bán thấy giá phù hợp thì có thể bán.
Thông thường, giá của các đơn đặt hàng mua sẽ thấp hơn đơn đặt hàng định giá. Bài viết này sẽ tập trung vào mô hình đơn đặt hàng định giá.
Chức năng cơ bản của nền tảng giao dịch 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 với giá đã chỉ định
Mua hàng: Mua theo mức giá NFT
Phí giao dịch trên nền tảng: thu một tỷ lệ phí nhất định dựa trên giá giao dịch
quy trình niêm yết
Frontend: Người dùng chọn NFT và thiết lập giá, nhấp vào đăng hàng
Hợp đồng: Người dùng ủy quyền hợp đồng thực hiện các thao tác với NFT của họ
Đồng thời trong hợp đồng cần duy trì một bảng ánh xạ giá của hàng hóa được niêm yết.
quy trình mua
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
Phát triển nền tảng giao dịch NFT
Tiếp theo, chúng ta sẽ bắt đầu từ con số không để xây dựng một nền tảng giao dịch NFT đơn giản.
1. Tạo hợp đồng NFT
Để phục vụ cho việc thử nghiệm, chúng ta có thể sử dụng Remix để nhanh chóng triển khai một hợp đồng NFT theo giao thức ERC-721. Tất nhiên, cũng có thể sử dụng trực tiếp các hợp đồng NFT hiện có.
2. Nền tảng hợp đồng
Nền tảng giao dịch hợp đồng cần bao gồm các chức năng cốt lõi sau:
2.1 Người bán niêm yết NFT
Quy trình như sau:
Người dùng chọn NFT
Thiết lập giá ( có thể sử dụng ETH hoặc stablecoin )
Ủ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:
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
Quy trình mua hàng:
Đọc dữ liệu lên kệ 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 hàng
2.3 Hủy niêm yết
Thông qua việc đặt trường isActive thành false để hủy niêm yết.
2.4 Phí rút tiền
Nền tảng có thể thu một tỷ lệ phí giao dịch nhất định, được lưu trữ trong hợp đồng hoặc chuyển đến địa chỉ chỉ định.
3. Phát triển front-end
Phát triển front-end cần 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: 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 ba trang: Mint, Buy và Portfolio.
3.1 Kết nối ví
Sử dụng thành phần kết nối Ant Design Web3 để thực hiện chức năng kết nối ví.
3.2 Trang Mint
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ỡ bỏ.
Cần gọi các phương pháp listNFT và cancelListing của hợp đồng, và ủy quyền NFT cho hợp đồng trước khi niêm yết.
3.4 Trang mua
Hiển thị tất cả các NFT đã 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.
Đến đây, một nền tảng giao dịch NFT Phi tập trung cơ bản đã được phát triển hoàn thành. Chúng ta có thể triển khai nó lên các nền tảng như Vercel để thử nghiệm 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
5
Chia sẻ
Bình luận
0/400
failed_dev_successful_ape
· 07-29 23:38
Đừng làm mấy cái khuôn mẫu này nữa, cứ viết một demo đi.
Xem bản gốcTrả lời0
FalseProfitProphet
· 07-29 23:38
Bài học đầu tiên cho lập trình viên
Xem bản gốcTrả lời0
ZKProofster
· 07-29 23:34
hmm... nói một cách kỹ thuật, việc triển khai này thiếu các vector quyền riêng tư quan trọng
Một bài viết giúp hiểu rõ toàn bộ quy trình phát triển nền tảng giao dịch NFT phi tập trung.
Phát triển 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, cách thực hiện giao dịch phi tập trung khác với token ERC-20. Hiện nay, nhiều nền tảng giao dịch NFT chính thống sử dụng mô hình niêm yết, tương tự như hàng hóa được bày trên kệ siêu thị, người mua có thể tự do chọn lựa.
Bài viết này sẽ giới thiệu cách thực hiện một nền tảng giao dịch NFT phi tập trung cơ bản thông qua hợp đồng thông minh và giao diện người dùng đơn giản. Cần lưu ý rằng đây chỉ là một ví dụ học tập, không phù hợp cho môi trường sản xuất thực tế.
Đặc điểm và phương thức giao dịch NFT
NFT là viết tắt của token không đồng nhất, mỗi token đều là độc nhất vô nhị. Thông thường, NFT sẽ hiển thị hình ảnh khác nhau trong ví, và mỗi nhóm NFT đều có một ID nhận diện duy nhất.
Do đặc điểm này của NFT, không thể định giá giống như các token ERC-20 thông qua đường cong giá. Hiện tại, phương thức giao dịch phổ biến nhất là sử dụng hình thức sổ đặt hàng.
Chế độ giao dịch sổ lệnh
Mô hình sổ lệnh chủ yếu có hai hình thức:
Đơn giá: Người bán đặt giá, người mua thấy hợp lý thì có thể trực tiếp mua.
Đơn mua: Người mua phát hành đơn đặt hàng, người bán thấy giá phù hợp thì có thể bán.
Thông thường, giá của các đơn đặt hàng mua sẽ thấp hơn đơn đặt hàng định giá. Bài viết này sẽ tập trung vào mô hình đơn đặt hàng định giá.
Chức năng cơ bản của nền tảng giao dịch 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
Đồng thời trong hợp đồng cần duy trì một bảng ánh xạ giá của hàng hóa được niêm yết.
quy trình mua
Phát triển nền tảng giao dịch NFT
Tiếp theo, chúng ta sẽ bắt đầu từ con số không để xây dựng một nền tảng giao dịch NFT đơn giản.
1. Tạo hợp đồng NFT
Để phục vụ cho việc thử nghiệm, chúng ta có thể sử dụng Remix để nhanh chóng triển khai một hợp đồng NFT theo giao thức ERC-721. Tất nhiên, cũng có thể sử dụng trực tiếp các hợp đồng NFT hiện có.
2. Nền tảng hợp đồng
Nền tảng giao dịch hợp đồng cần bao gồm các chức năng cốt lõi sau:
2.1 Người bán niêm yết NFT
Quy trình như sau:
Phương pháp niêm yết cần:
2.2 Người mua mua NFT
Quy trình mua hàng:
2.3 Hủy niêm yết
Thông qua việc đặt trường isActive thành false để hủy niêm yết.
2.4 Phí rút tiền
Nền tảng có thể thu một tỷ lệ phí giao dịch nhất định, được lưu trữ trong hợp đồng hoặc chuyển đến địa chỉ chỉ định.
3. Phát triển front-end
Phát triển front-end cần sử dụng các công cụ sau:
Giao diện chính 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 Ant Design Web3 để thực hiện chức năng kết nối ví.
3.2 Trang Mint
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ỡ bỏ.
Cần gọi các phương pháp listNFT và cancelListing của hợp đồng, và ủy quyền NFT cho hợp đồng trước khi niêm yết.
3.4 Trang mua
Hiển thị tất cả các NFT đã 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.
Đến đây, một nền tảng giao dịch NFT Phi tập trung cơ bản đã được phát triển hoàn thành. Chúng ta có thể triển khai nó lên các nền tảng như Vercel để thử nghiệm sử dụng.