Membangun platform perdagangan NFT desentralisasi dari nol
Untuk NFT yang menggunakan protokol ERC-721, bagaimana cara mewujudkan perdagangan desentralisasi? Saat ini, sebagian besar bursa NFT utama menggunakan metode pemesanan untuk bertransaksi, mirip dengan menempatkan barang di rak supermarket, pembeli bisa langsung membeli jika merasa harga sesuai. Artikel ini akan membuat platform perdagangan NFT desentralisasi dasar dengan menulis kontrak pintar dan halaman depan yang sederhana.
NFT(Token Non-Fungible)Deskripsi
NFT adalah token non-fungible, 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 membedakannya.
Karena karakteristik NFT, harga tidak dapat ditetapkan melalui kurva harga seperti token ERC-20. Oleh karena itu, cara perdagangan yang cukup umum saat ini adalah dalam bentuk buku pesanan.
Mode perdagangan buku pesanan
Model buku pesanan secara sederhana adalah harga barang yang ditetapkan oleh manusia, berbeda dengan cara perhitungan harga melalui kurva harga. Buku pesanan biasanya memiliki dua mode perdagangan:
Penetapan harga: Penjual menetapkan harga jual, pembeli dapat langsung membeli jika merasa cocok.
Permintaan Pembelian: Pembeli mengeluarkan pesanan permintaan, penjual dapat menjual jika merasa harga sesuai.
Secara umum, harga order pembelian akan lebih rendah daripada harga order penetapan. Artikel ini terutama membahas mode order penetapan.
Fitur Dasar dari Platform NFT
Sebuah platform perdagangan NFT dasar harus mencakup fungsi berikut:
Daftar Produk: Mendaftarkan NFT sesuai dengan harga yang ditentukan
Membeli barang: melakukan pembelian berdasarkan harga NFT
Biaya platform: Biaya diambil berdasarkan persentase dari harga transaksi.
Proses Penempatan Produk
Frontend: Pengguna memilih NFT dan menetapkan harga, klik untuk mengunggah
Kontrak: Pengguna memberikan otorisasi untuk operasi kontrak NFT
Kontrak perlu memelihara tabel pemetaan harga barang yang diunggah oleh pengguna. Bagian data ini juga dapat disimpan di layanan terpusat untuk mengurangi beban kontrak, dalam artikel ini akan disimpan langsung di dalam kontrak.
Proses Pembelian Barang
Frontend: Pengguna memilih NFT yang ingin dibeli, klik beli
Kontrak: Mentransfer dana pembeli kepada penjual, NFT kepada pembeli
Mewujudkan platform perdagangan NFT
1. Buat NFT uji coba
Anda dapat dengan cepat menyebarkan kontrak NFT protokol ERC-721 untuk pengujian melalui Remix.
2. Menulis kontrak pintar
Kontrak harus mencakup fungsi utama berikut:
2.1 Penjual mengunggah NFT
Proses:
Pengguna memilih NFT
Atur harga ( dapat dinilai dalam USDT, USDC, atau ETH )
Memberikan otorisasi NFT kepada kontrak
Memanggil metode penempatan
Metode penempatan membutuhkan:
Verifikasi kepemilikan NFT
Tambahkan catatan peluncuran
Memicu peristiwa peluncuran
2.2 Pembeli membeli NFT
Proses:
Membaca data NFT dari listings
Hitung dan potong biaya transaksi
Mentransfer NFT kepada pembeli
Memicu peristiwa pembelian
2.3 Batalkan penarikan
Atur nilai isActive yang sesuai untuk NFT dalam listings menjadi false.
2.4 Biaya penarikan
Tarik biaya yang terakumulasi dalam kontrak ke alamat yang ditentukan.
3. Mengembangkan antarmuka depan
Gunakan alat berikut:
Ant Design Web3: menghubungkan dompet dan menampilkan NFT
Wagmi: Berinteraksi dengan dompet
Next.js + Vercel: men-deploy proyek
Tampilan depan terdiri dari tiga halaman utama:
Mint: digunakan untuk mencetak NFT uji coba
Beli: Pasar NFT, dapat membeli NFT
Portofolio: mengelola NFT pengguna, mendukung penambahan dan penghapusan
3.1 Menghubungkan dompet
Menggunakan komponen koneksi Ant Design Web3.
3.2 Halaman Mint
Gunakan metode useWriteContract dari wagmi untuk memanggil metode mint dari kontrak NFT.
3.3 Halaman Portfolio
Menampilkan NFT pengguna, mendukung operasi penambahan dan pengurangan.
Saat listing, panggil metode listNFT, dan untuk membatalkan, panggil metode cancelListing. Sebelum listing, NFT harus diberikan izin kepada kontrak.
3.4 Halaman Beli
Tampilkan semua NFT yang terdaftar, panggil metode purchaseNFT untuk melakukan pembelian.
Dengan demikian, sebuah platform perdagangan NFT desentralisasi dasar telah selesai. Proyek dapat diterapkan di Vercel untuk pengujian dan penggunaan.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
15 Suka
Hadiah
15
3
Bagikan
Komentar
0/400
GasSavingMaster
· 21jam yang lalu
Biaya transaksi ini dijelaskan dengan baik.
Lihat AsliBalas0
MetaLord420
· 21jam yang lalu
Tutorial yang sangat baik, wawasan berharga penuh.
Membangun platform perdagangan NFT desentralisasi dari 0 hingga 1 seluruh proses
Membangun platform perdagangan NFT desentralisasi dari nol
Untuk NFT yang menggunakan protokol ERC-721, bagaimana cara mewujudkan perdagangan desentralisasi? Saat ini, sebagian besar bursa NFT utama menggunakan metode pemesanan untuk bertransaksi, mirip dengan menempatkan barang di rak supermarket, pembeli bisa langsung membeli jika merasa harga sesuai. Artikel ini akan membuat platform perdagangan NFT desentralisasi dasar dengan menulis kontrak pintar dan halaman depan yang sederhana.
NFT(Token Non-Fungible)Deskripsi
NFT adalah token non-fungible, 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 membedakannya.
Karena karakteristik NFT, harga tidak dapat ditetapkan melalui kurva harga seperti token ERC-20. Oleh karena itu, cara perdagangan yang cukup umum saat ini adalah dalam bentuk buku pesanan.
Mode perdagangan buku pesanan
Model buku pesanan secara sederhana adalah harga barang yang ditetapkan oleh manusia, berbeda dengan cara perhitungan harga melalui kurva harga. Buku pesanan biasanya memiliki dua mode perdagangan:
Penetapan harga: Penjual menetapkan harga jual, pembeli dapat langsung membeli jika merasa cocok.
Permintaan Pembelian: Pembeli mengeluarkan pesanan permintaan, penjual dapat menjual jika merasa harga sesuai.
Secara umum, harga order pembelian akan lebih rendah daripada harga order penetapan. Artikel ini terutama membahas mode order penetapan.
Fitur Dasar dari Platform NFT
Sebuah platform perdagangan NFT dasar harus mencakup fungsi berikut:
Proses Penempatan Produk
Kontrak perlu memelihara tabel pemetaan harga barang yang diunggah oleh pengguna. Bagian data ini juga dapat disimpan di layanan terpusat untuk mengurangi beban kontrak, dalam artikel ini akan disimpan langsung di dalam kontrak.
Proses Pembelian Barang
Mewujudkan platform perdagangan NFT
1. Buat NFT uji coba
Anda dapat dengan cepat menyebarkan kontrak NFT protokol ERC-721 untuk pengujian melalui Remix.
2. Menulis kontrak pintar
Kontrak harus mencakup fungsi utama berikut:
2.1 Penjual mengunggah NFT
Proses:
Metode penempatan membutuhkan:
2.2 Pembeli membeli NFT
Proses:
2.3 Batalkan penarikan
Atur nilai isActive yang sesuai untuk NFT dalam listings menjadi false.
2.4 Biaya penarikan
Tarik biaya yang terakumulasi dalam kontrak ke alamat yang ditentukan.
3. Mengembangkan antarmuka depan
Gunakan alat berikut:
Tampilan depan terdiri dari tiga halaman utama:
3.1 Menghubungkan dompet
Menggunakan komponen koneksi Ant Design Web3.
3.2 Halaman Mint
Gunakan metode useWriteContract dari wagmi untuk memanggil metode mint dari kontrak NFT.
3.3 Halaman Portfolio
Menampilkan NFT pengguna, mendukung operasi penambahan dan pengurangan.
Saat listing, panggil metode listNFT, dan untuk membatalkan, panggil metode cancelListing. Sebelum listing, NFT harus diberikan izin kepada kontrak.
3.4 Halaman Beli
Tampilkan semua NFT yang terdaftar, panggil metode purchaseNFT untuk melakukan pembelian.
Dengan demikian, sebuah platform perdagangan NFT desentralisasi dasar telah selesai. Proyek dapat diterapkan di Vercel untuk pengujian dan penggunaan.