Xây dựng 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, làm thế nào để thực hiện giao dịch Phi tập trung? Hiện nay, phương thức giao dịch NFT chủ yếu là sử dụng mô hình sổ đặt hàng, tương tự như việc trưng bày hàng hóa trên kệ, 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 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.
Các 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 có các chức năng sau:
Đưa NFT lên nền tảng: Người bán có thể đặt giá để đưa NFT lên.
Mua NFT: Người mua có thể mua NFT đã được niêm yết theo giá định sẵn.
Thu phí giao dịch: nền tảng có thể trích một tỷ lệ phần trăm nhất định từ giá giao dịch.
lên kệ NFT
Quy trình niêm yết NFT như sau:
Người bán chọn NFT muốn niêm yết và đặt giá
Người bán ủy quyền hợp đồng giao dịch có thể thao tác NFT đó.
Gọi phương thức niêm yết của hợp đồng, ghi lại thông tin niêm yết
Mua NFT
Quy trình mua NFT như sau:
Người mua chọn NFT muốn mua
Gọi phương thức mua của hợp đồng
Hợp đồng sẽ chuyển tiền của người mua cho người bán, đồng thời chuyển NFT cho người mua
Thực hiện nền tảng giao dịch
1. Tạo NFT thử nghiệm
Bạn có thể sử dụng Remix để nhanh chóng triển khai một hợp đồng NFT theo giao thức ERC-721 để thử nghiệm.
2. Viết hợp đồng giao dịch
Hợp đồng giao dịch cần thực hiện các phương pháp chính sau:
2.1 Lên kệ NFT
solidity
function listNFT(address nftAddress, uint256 tokenId, uint256 price) public {
// Xác thực quyền sở hữu NFT
// Ghi lại thông tin niêm yết
// Kích hoạt sự kiện niêm yết
}
2.2 Mua NFT
solidity
function purchaseNFT(address nftAddress, uint256 tokenId) public payable {
// Lấy thông tin niêm yết 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
solidity
function cancelListing(address nftAddress, uint256 tokenId) public {
// Xác thực quyền thao tác
// Đặt trạng thái niêm yết thành không hợp lệ
// Kích hoạt sự kiện hủy bỏ
}
2.4 Rút phí giao dịch
solidity
function withdrawFees() public onlyOwner {
// Chuyển phí giao dịch trong hợp đồng
}
3. Phát triển giao diện người dùng
Sử dụng các công cụ sau để phát triển front-end:
Ant Design Web3: sử 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 chính bao gồm các trang sau:
Mint: được sử dụng để tạo NFT thử nghiệm
Mua:Nền tảng giao dịch NFT, có thể mua NFT được niêm yết
Portfolio: Quản lý NFT của người dùng, có thể niêm yết và gỡ bỏ.
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í.
3.2 Trang Mint
Gọi phương thức mint của hợp đồng NFT để tạo NFT thử nghiệm.
3.3 Trang Portfolio
Lấy NFT mà người dùng sở hữu
Xác định xem NFT có đã được niêm yết hay không
Thực hiện chức năng niêm yết và gỡ bỏ NFT
3.4 Trang mua
Hiển thị tất cả NFT đã được niêm yết
Thực hiện chức năng mua sắm
Đế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 nó lên Vercel để thử nghiệm.
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.
9 thích
Phần thưởng
9
6
Chia sẻ
Bình luận
0/400
LiquidationWatcher
· 07-04 15:00
đã trải qua quá nhiều vụ rugpull để tin tưởng một dex khác... hãy chú ý đến những khoản phí và hợp đồng thông minh fam
Xem bản gốcTrả lời0
hodl_therapist
· 07-04 10:30
Học cả ngày về hợp đồng thông minh lại phải bắt đầu từ front-end sao?
Xem bản gốcTrả lời0
MetaverseLandlady
· 07-01 16:13
Phí giao dịch không thể tốt hơn, tiền mà bà chủ cho thuê kiếm được cũng sắp bị chơi đùa với mọi người hết rồi.
Xem bản gốcTrả lời0
ChainMelonWatcher
· 07-01 16:12
Phí giao dịch chắc chắn là thuế trí tuệ rồi.
Xem bản gốcTrả lời0
GasFeeCrier
· 07-01 16:04
Lại phát hành gas coin, khi nào mới rẻ hơn một chút?
Xem bản gốcTrả lời0
FlashLoanKing
· 07-01 15:54
Cười chết, lại đang cạnh tranh hợp đồng thông minh
Xây dựng nền tảng giao dịch NFT Phi tập trung: từ hợp đồng thông minh đến giao diện người dùng
Xây dựng 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, làm thế nào để thực hiện giao dịch Phi tập trung? Hiện nay, phương thức giao dịch NFT chủ yếu là sử dụng mô hình sổ đặt hàng, tương tự như việc trưng bày hàng hóa trên kệ, 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 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.
Các 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 có các chức năng sau:
lên kệ NFT
Quy trình niêm yết NFT như sau:
Mua NFT
Quy trình mua NFT như sau:
Thực hiện nền tảng giao dịch
1. Tạo NFT thử nghiệm
Bạn có thể sử dụng Remix để nhanh chóng triển khai một hợp đồng NFT theo giao thức ERC-721 để thử nghiệm.
2. Viết hợp đồng giao dịch
Hợp đồng giao dịch cần thực hiện các phương pháp chính sau:
2.1 Lên kệ NFT
solidity function listNFT(address nftAddress, uint256 tokenId, uint256 price) public { // Xác thực quyền sở hữu NFT // Ghi lại thông tin niêm yết
// Kích hoạt sự kiện niêm yết }
2.2 Mua NFT
solidity function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Lấy thông tin niêm yết 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
solidity function cancelListing(address nftAddress, uint256 tokenId) public { // Xác thực quyền thao tác // Đặt trạng thái niêm yết thành không hợp lệ // Kích hoạt sự kiện hủy bỏ }
2.4 Rút phí giao dịch
solidity function withdrawFees() public onlyOwner { // Chuyển phí giao dịch trong hợp đồng }
3. Phát triển giao diện người dùng
Sử dụng các công cụ sau để phát triển front-end:
Giao diện chính bao gồm các trang sau:
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í.
3.2 Trang Mint
Gọi phương thức mint của hợp đồng NFT để tạo NFT thử nghiệm.
3.3 Trang Portfolio
3.4 Trang 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 nó lên Vercel để thử nghiệm.