Untuk NFT yang mengikuti protokol ERC-721, cara untuk mewujudkan perdagangan desentralisasi berbeda dari token ERC-20. Saat ini, platform perdagangan NFT utama banyak menggunakan model pemesanan untuk melakukan perdagangan, mirip dengan menampilkan barang di rak supermarket, pembeli dapat membeli barang dengan harga yang sesuai.
Artikel ini akan menciptakan fungsi perdagangan NFT desentralisasi dasar melalui penulisan kontrak pintar dan antarmuka frontend yang sederhana. Perlu dicatat bahwa konten artikel ini hanya untuk referensi belajar dan tidak cocok untuk lingkungan produksi yang sebenarnya.
Karakteristik Dasar NFT
NFT adalah token yang tidak dapat dipertukarkan, setiap Token adalah unik, mengikuti protokol ERC-721. Secara umum, setiap NFT akan menampilkan gambar yang berbeda di dompet, dan setiap grup NFT memiliki ID unik untuk membedakan.
Karena fitur NFT ini, harga tidak dapat ditentukan melalui kurva harga seperti token ERC-20. Oleh karena itu, cara perdagangan yang umum saat ini adalah melalui bentuk buku pesanan.
Mode Perdagangan Order Book
Dalam mode buku pesanan, harga barang ditentukan secara manual, berbeda dengan mode pembuat pasar otomatis yang menghitung harga melalui algoritma. Buku pesanan biasanya memiliki dua jenis cara perdagangan:
Daftar Harga: Penjual menetapkan harga jual, pembeli dapat membeli jika merasa harga tersebut sesuai.
Permintaan pembelian: Pembeli mengeluarkan pesanan permintaan pembelian, penjual dapat menjual jika merasa harga sesuai.
Umumnya, harga permintaan akan lebih rendah daripada harga yang ditetapkan. Artikel ini akan fokus pada metode perdagangan harga yang ditetapkan.
Fungsi Dasar NFT DEX
DEX NFT yang dasar harus mencakup fungsi inti berikut:
Memasang produk: Menempatkan NFT sesuai dengan harga yang ditetapkan.
Membeli barang: Membeli sesuai dengan harga NFT
Mengambil biaya transaksi: Biaya transaksi diambil berdasarkan proporsi dari harga transaksi
Proses Penempatan Produk
Untuk mengunggah produk, perlu menyelesaikan langkah-langkah berikut:
Frontend: Pengguna memilih NFT dan menetapkan harga, kemudian mengklik untuk menampilkan.
Kontrak: Pengguna memberikan izin untuk kontrak beroperasi pada NFT.
Dalam kontrak, perlu untuk memelihara tabel pemetaan harga produk yang diunggah oleh pengguna. Data ini juga dapat disimpan di layanan terpusat untuk mengurangi beban kontrak, tetapi artikel ini akan menyimpannya di dalam kontrak.
Proses Pembelian Barang
Saat membeli barang, hal-hal berikut akan terjadi:
Frontend: Pengguna memilih NFT yang ingin dibeli, lalu mengklik beli.
Kontrak: Memanggil kontrak, mentransfer dana pembeli kepada penjual, dan mentransfer NFT kepada pembeli.
Mewujudkan DEX NFT
Selanjutnya kita akan membangun sebuah DEX NFT dari nol.
1. Membuat NFT uji coba
Untuk kebutuhan pengujian, kita dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT yang mengikuti protokol ERC-721. Kita juga dapat menggunakan NFT yang sudah disiapkan untuk pengujian.
2. Menulis kontrak pintar
Kontrak perlu mencakup metode utama berikut:
2.1 Penjual mengunggah NFT
Proses:
Pengguna memilih NFT
Atur Harga
Memberikan wewenang NFT kepada kontrak
Memanggil metode penempatan
Metode penempatan yang diperlukan:
Verifikasi kepemilikan NFT
Tambahkan catatan peluncuran
Memicu peristiwa peluncuran
2.2 Pembeli membeli NFT
Proses pembelian:
Membaca data NFT
Hitung dan potong biaya transaksi
Transfer NFT kepada pembeli
Memicu peristiwa pembelian
2.3 Batalkan Penjualan
Cukup atur field isActive dalam catatan peluncuran menjadi false.
2.4 Tarik biaya transaksi
Tarik biaya yang terkumpul dalam kontrak ke alamat yang ditentukan.
3. Mengembangkan frontend DEX
Alat utama yang diperlukan untuk pengembangan front-end:
Ant Design Web3: untuk koneksi dompet dan NFT tampilan
Wagmi: digunakan untuk berinteraksi dengan dompet
Next.js + Vercel: menerapkan proyek
Frontend harus mencakup tiga halaman utama: Mint, Buy, dan Portfolio.
3.1 Hubungkan Dompet
Menggunakan komponen Ant Design Web3 untuk mengimplementasikan fungsi koneksi dompet.
3.2 Halaman Mint
Digunakan untuk mencetak NFT uji coba, menggunakan metode useWriteContract dari wagmi untuk memanggil kontrak.
3.3 Halaman Portofolio
Menampilkan NFT yang dimiliki pengguna, mendukung operasi penjualan dan penghapusan.
Saat mendaftar, perlu memanggil metode listNFT, dan saat membatalkan pendaftaran, panggil metode cancelListing. Sebelum mendaftar, perlu memberikan otorisasi NFT ke kontrak.
3.4 Halaman Beli
Tampilkan semua NFT yang telah terdaftar, mendukung operasi pembelian.
Panggil metode purchaseNFT saat membeli, dan bayar ETH yang sesuai.
Setelah menyelesaikan langkah-langkah di atas, sebuah DEX NFT dasar telah diimplementasikan. Dapat diterapkan di platform seperti Vercel untuk pengujian dan penggunaan.
Lihat Asli
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.
10 Suka
Hadiah
10
7
Bagikan
Komentar
0/400
RugPullProphet
· 07-08 04:56
Tidak perlu begitu repot di front-end, kan?
Lihat AsliBalas0
0xInsomnia
· 07-07 17:14
Para pengembang akhir-akhir ini suka bermain dex, ya?
Langkah demi langkah untuk membuat platform perdagangan NFT desentralisasi: dari kontrak hingga implementasi frontend
Mewujudkan perdagangan NFT Desentralisasi
Untuk NFT yang mengikuti protokol ERC-721, cara untuk mewujudkan perdagangan desentralisasi berbeda dari token ERC-20. Saat ini, platform perdagangan NFT utama banyak menggunakan model pemesanan untuk melakukan perdagangan, mirip dengan menampilkan barang di rak supermarket, pembeli dapat membeli barang dengan harga yang sesuai.
Artikel ini akan menciptakan fungsi perdagangan NFT desentralisasi dasar melalui penulisan kontrak pintar dan antarmuka frontend yang sederhana. Perlu dicatat bahwa konten artikel ini hanya untuk referensi belajar dan tidak cocok untuk lingkungan produksi yang sebenarnya.
Karakteristik Dasar NFT
NFT adalah token yang tidak dapat dipertukarkan, setiap Token adalah unik, mengikuti protokol ERC-721. Secara umum, setiap NFT akan menampilkan gambar yang berbeda di dompet, dan setiap grup NFT memiliki ID unik untuk membedakan.
Karena fitur NFT ini, harga tidak dapat ditentukan melalui kurva harga seperti token ERC-20. Oleh karena itu, cara perdagangan yang umum saat ini adalah melalui bentuk buku pesanan.
Mode Perdagangan Order Book
Dalam mode buku pesanan, harga barang ditentukan secara manual, berbeda dengan mode pembuat pasar otomatis yang menghitung harga melalui algoritma. Buku pesanan biasanya memiliki dua jenis cara perdagangan:
Daftar Harga: Penjual menetapkan harga jual, pembeli dapat membeli jika merasa harga tersebut sesuai.
Permintaan pembelian: Pembeli mengeluarkan pesanan permintaan pembelian, penjual dapat menjual jika merasa harga sesuai.
Umumnya, harga permintaan akan lebih rendah daripada harga yang ditetapkan. Artikel ini akan fokus pada metode perdagangan harga yang ditetapkan.
Fungsi Dasar NFT DEX
DEX NFT yang dasar harus mencakup fungsi inti berikut:
Proses Penempatan Produk
Untuk mengunggah produk, perlu menyelesaikan langkah-langkah berikut:
Dalam kontrak, perlu untuk memelihara tabel pemetaan harga produk yang diunggah oleh pengguna. Data ini juga dapat disimpan di layanan terpusat untuk mengurangi beban kontrak, tetapi artikel ini akan menyimpannya di dalam kontrak.
Proses Pembelian Barang
Saat membeli barang, hal-hal berikut akan terjadi:
Mewujudkan DEX NFT
Selanjutnya kita akan membangun sebuah DEX NFT dari nol.
1. Membuat NFT uji coba
Untuk kebutuhan pengujian, kita dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT yang mengikuti protokol ERC-721. Kita juga dapat menggunakan NFT yang sudah disiapkan untuk pengujian.
2. Menulis kontrak pintar
Kontrak perlu mencakup metode utama berikut:
2.1 Penjual mengunggah NFT
Proses:
Metode penempatan yang diperlukan:
2.2 Pembeli membeli NFT
Proses pembelian:
2.3 Batalkan Penjualan
Cukup atur field isActive dalam catatan peluncuran menjadi false.
2.4 Tarik biaya transaksi
Tarik biaya yang terkumpul dalam kontrak ke alamat yang ditentukan.
3. Mengembangkan frontend DEX
Alat utama yang diperlukan untuk pengembangan front-end:
Frontend harus mencakup tiga halaman utama: Mint, Buy, dan Portfolio.
3.1 Hubungkan Dompet
Menggunakan komponen Ant Design Web3 untuk mengimplementasikan fungsi koneksi dompet.
3.2 Halaman Mint
Digunakan untuk mencetak NFT uji coba, menggunakan metode useWriteContract dari wagmi untuk memanggil kontrak.
3.3 Halaman Portofolio
Menampilkan NFT yang dimiliki pengguna, mendukung operasi penjualan dan penghapusan.
Saat mendaftar, perlu memanggil metode listNFT, dan saat membatalkan pendaftaran, panggil metode cancelListing. Sebelum mendaftar, perlu memberikan otorisasi NFT ke kontrak.
3.4 Halaman Beli
Tampilkan semua NFT yang telah terdaftar, mendukung operasi pembelian.
Panggil metode purchaseNFT saat membeli, dan bayar ETH yang sesuai.
Setelah menyelesaikan langkah-langkah di atas, sebuah DEX NFT dasar telah diimplementasikan. Dapat diterapkan di platform seperti Vercel untuk pengujian dan penggunaan.