Membangun platform perdagangan NFT desentralisasi dari nol: Panduan implementasi smart contract dan front-end

robot
Pembuatan abstrak sedang berlangsung

Membangun platform perdagangan NFT Desentralisasi dari nol

Dalam beberapa artikel sebelumnya, kami telah membahas cara melakukan perdagangan terdesentralisasi untuk token ERC-20 melalui DEX. Lalu, bagaimana cara melakukan perdagangan terdesentralisasi untuk NFT yang mengikuti protokol ERC-721?

Saat ini, platform perdagangan NFT utama sebagian besar menggunakan model pemesanan untuk melakukan transaksi, mirip dengan barang yang dipajang di rak supermarket, pembeli dapat membeli dan membawanya pergi jika mereka merasa harga sesuai. Artikel ini akan mengimplementasikan perdagangan NFT yang Desentralisasi melalui penulisan kontrak pintar dan halaman depan yang sederhana. Perlu dicatat bahwa konten artikel ini hanya untuk referensi belajar, tidak cocok untuk lingkungan produksi.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

Pengenalan NFT

NFT adalah token non-fungible yang mengikuti protokol ERC-721. Setiap NFT adalah unik, biasanya ditampilkan dalam berbagai bentuk gambar di dompet, dan 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 umum saat ini adalah menggunakan bentuk buku pesanan.

Seri Pemula Web3: Membangun DEX NFT dari Nol

Mode perdagangan buku pesanan

Dalam mode buku pesanan, harga barang ditentukan secara manual, berbeda dengan cara menghitung harga melalui algoritma. Buku pesanan biasanya memiliki dua mode perdagangan:

  1. Harga Penawaran: Penjual menetapkan harga jual, pembeli dapat membeli jika merasa harga tersebut sesuai.

  2. Permintaan Pembelian: Pembeli mengeluarkan pesanan permintaan membeli, penjual dapat menjual jika merasa harga sesuai.

Secara umum, harga permintaan akan lebih rendah daripada harga tetap. Artikel ini akan fokus pada mode perdagangan harga tetap.

Web3 Pemula Series: Membangun DEX NFT dari Nol

Fitur Dasar NFT DEX

Sebuah DEX NFT dasar harus mencakup fungsi-fungsi berikut:

  1. Menyediakan barang: Menyimpan NFT dengan harga yang ditetapkan.
  2. Membeli barang: membeli dengan harga NFT
  3. Mengambil biaya: dikenakan berdasarkan proporsi harga transaksi

Proses Penjualan Barang

  1. Frontend: Pengguna memilih NFT dan menetapkan harga, klik untuk menampilkan
  2. Kontrak: Pengguna memberi wewenang kontrak untuk mengoperasikan NFT mereka

Kontrak perlu menjaga tabel pemetaan harga barang yang diunggah oleh pengguna. Untuk mengurangi beban kontrak, data ini juga dapat disimpan di layanan terdesentralisasi.

Proses Pembelian Barang

  1. Frontend: Pengguna memilih NFT yang ingin dibeli, klik beli
  2. Kontrak: Mentransfer dana pembeli ke penjual, NFT ke pembeli

Web3 Pemula Series: Mewujudkan NFT DEX dari Nol

Implementasi NFT DEX

Berikut ini kami akan membangun sebuah DEX NFT dari nol.

1. Buat NFT

Untuk keperluan pengujian, kita dapat dengan cepat membuat NFT protocol ERC-721 melalui Remix. Kita juga dapat langsung menggunakan NFT yang telah disiapkan.

Seri Pemula Web3: Mewujudkan NFT DEX dari Nol

2. Penulisan kontrak

Kontrak harus mencakup metode utama berikut:

2.1 Penjual mengunggah NFT

Proses:

  1. Pengguna memilih NFT
  2. Atur harga ( dalam stablecoin atau ETH )
  3. Memberikan NFT kepada kontrak
  4. Memanggil metode penempatan

Metode peluncuran yang harus dilaksanakan:

  1. Verifikasi kepemilikan NFT
  2. Tambahkan catatan listing
  3. Memicu peristiwa peluncuran

Web3 pemula seri: Mewujudkan NFT DEX dari nol

2.2 Pembeli membeli NFT

Setelah pembeli memilih NFT dan melakukan pembayaran, kontrak dijalankan:

  1. Membaca data NFT
  2. Hitung dan potong biaya transaksi
  3. Transfer NFT kepada pembeli
  4. Memicu peristiwa pembelian

Seri Pemula Web3: Membangun DEX NFT dari Nol

2.3 Batalkan daftar

Setel field isActive produk menjadi false.

2.4 Penarikan Biaya

Dapat menyimpan biaya transaksi dalam kontrak atau mentransfernya ke alamat yang ditentukan.

Web3 pemula seri: Mewujudkan DEX NFT dari nol

3. Pengembangan antarmuka DEX

Alat utama yang digunakan:

  • Ant Design Web3: menghubungkan dompet, menampilkan NFT kartu
  • Wagmi: interaksi dengan dompet
  • Nextjs + Vercel: Menerapkan proyek

Frontend harus mencakup tiga halaman: Mint, Buy, dan Portfolio.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

3.1 Menghubungkan Dompet

Menggunakan komponen koneksi Ant Design Web3 untuk menghubungkan dompet.

Web3 pemula seri: Membangun DEX NFT dari nol

3.2 Halaman Mint

Menggunakan metode useWriteContract dari wagmi untuk melakukan pencetakan NFT.

Seri Pemula Web3: Mewujudkan DEX NFT dari Nol

3.3 Halaman Portfolio

Menampilkan NFT pengguna, mendukung operasi penjualan dan penghapusan.

Web3 Pemula Seri: Mewujudkan DEX NFT dari Nol

Halaman Beli 3.4

Menampilkan NFT yang telah terdaftar, mendukung operasi pembelian.

Dengan ini, front-end dari DEX NFT dasar telah selesai. Anda dapat menerapkannya di Vercel untuk diakses.

Web3 pemula seri: Mewujudkan DEX NFT dari nol

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.
  • Hadiah
  • 4
  • Posting ulang
  • Bagikan
Komentar
0/400
PoolJumpervip
· 07-21 17:01
Akan disusun oleh pro
Lihat AsliBalas0
DogeBachelorvip
· 07-19 17:08
Tolong teman, jelaskan lebih spesifik bagaimana cara operasinya.
Lihat AsliBalas0
BlockTalkvip
· 07-18 22:22
Lebih baik membuka kotak untuk dumping daripada mengerjakan kontrak sendiri.
Lihat AsliBalas0
ApeDegenvip
· 07-18 22:22
Akhirnya ada tutorial yang membawa saya untuk kaya!
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)