Panduan lengkap membangun platform perdagangan NFT Desentralisasi dari nol

robot
Pembuatan abstrak sedang berlangsung

Membangun sebuah platform perdagangan NFT desentralisasi dari nol

Untuk NFT yang mengikuti protokol ERC-721, cara untuk melakukan perdagangan desentralisasi berbeda dari token ERC-20. Saat ini, platform perdagangan NFT yang mainstream menggunakan metode pemesanan untuk melakukan transaksi, mirip dengan menampilkan barang di rak untuk dipilih oleh pembeli. Artikel ini akan memperkenalkan bagaimana dengan menulis kontrak pintar dan antarmuka frontend yang sederhana, kita dapat mewujudkan perdagangan NFT secara desentralisasi. Harap dicatat, konten artikel ini hanya untuk referensi belajar, tidak cocok untuk lingkungan produksi yang sebenarnya.

Web3 Pemula Series: Mewujudkan DEX NFT dari Nol

NFT Pendahuluan

NFT (non-fungible token) adalah aset digital unik yang mengikuti protokol ERC-721. Setiap NFT memiliki keunikan tersendiri, biasanya ditampilkan dalam bentuk gambar yang berbeda di dompet, dan memiliki ID unik sebagai tanda pengenal. Karena sifat khusus dari NFT, harga tidak dapat ditentukan melalui kurva harga seperti token ERC-20, sehingga cara perdagangan yang umum adalah menggunakan bentuk buku pesanan.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

Mode Perdagangan Order Book

Model perdagangan buku pesanan terutama dibagi menjadi dua jenis:

  1. Harga tetap: Penjual menetapkan harga tetap, pembeli dapat langsung membeli setelah menyetujui.
  2. Permintaan Pembelian: Pembeli menerbitkan permintaan untuk membeli, dan penjual menyetujui sebelum menyelesaikan transaksi.

Artikel ini akan fokus pada metode perdagangan order harga.

Web3 pemula seri: Membangun NFT DEX dari nol

NFT Desentralisasi platform inti fungsi

Sebuah platform perdagangan NFT desentralisasi yang dasar harus mencakup fungsi-fungsi berikut:

  1. Produk Didaftarkan: Memungkinkan pengguna menetapkan harga dan mendaftarkan NFT
  2. Pembelian produk: Pengguna dapat membeli NFT sesuai dengan harga yang ditetapkan.
  3. Biaya platform: Biaya tertentu akan dikenakan berdasarkan harga transaksi.

Proses Penempatan Produk

  1. Frontend: Pengguna memilih NFT dan menetapkan harga, lalu mengklik untuk mendaftar.
  2. Kontrak: Pengguna memberikan izin kepada kontrak untuk mengoperasikan NFT mereka.

Kontrak perlu memelihara tabel pemetaan harga produk yang diunggah oleh pengguna. Meskipun bagian data ini dapat disimpan di layanan terdesentralisasi untuk mengurangi beban kontrak, artikel ini akan mempertahankannya di dalam kontrak.

Proses Pembelian Produk

  1. Frontend: Pengguna memilih NFT yang ingin dibeli, lalu mengklik beli.
  2. Kontrak: Melakukan operasi transfer, mentransfer dana pembeli kepada penjual, sekaligus mentransfer NFT kepada pembeli.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

Mewujudkan platform perdagangan NFT Desentralisasi

Selanjutnya, kita akan membangun sebuah platform perdagangan NFT Desentralisasi dari nol.

1. Buat NFT

Untuk kebutuhan pengujian, kita dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT yang sesuai dengan protokol ERC-721. Kita juga dapat memilih untuk menggunakan NFT yang sudah disiapkan.

Web3 pemula seri: Membangun sebuah NFT DEX dari nol

2. Penulisan kontrak

Kontrak harus mencakup metode inti berikut:

2.1 Penjual mengunggah NFT

Metode peluncuran harus menyelesaikan tugas berikut:

  1. Verifikasi kepemilikan NFT
  2. Tambahkan catatan peluncuran
  3. Memicu acara peluncuran

Web3 pemula seri: Mewujudkan NFT DEX dari nol

2.2 Pembeli membeli NFT

Untuk membeli, lakukan langkah-langkah berikut:

  1. Membaca data NFT dari catatan peluncuran
  2. Hitung dan potong biaya transaksi
  3. Mengalihkan NFT kepada pembeli
  4. Memicu peristiwa pembelian

Seri Pemula Web3: Mewujudkan DEX NFT dari nol

2.3 Batalkan pencantuman

Dengan mengatur field isActive dalam catatan listing menjadi false untuk mengimplementasikan fungsi pembatalan listing.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

2.4 Penarikan Biaya Transaksi

Platform dapat mengenakan biaya transaksi pada setiap transaksi, dan disimpan dalam kontrak atau ditransfer ke alamat yang ditentukan.

Web3 pemula seri: Mewujudkan DEX NFT dari nol

3. Pengembangan front-end

Pengembangan front-end memerlukan penggunaan alat berikut:

  1. Ant Design Web3: digunakan untuk koneksi dompet dan tampilan NFT
  2. Wagmi: digunakan untuk berinteraksi dengan dompet
  3. Nextjs + Vercel: untuk penyebaran proyek

Aplikasi frontend terdiri dari tiga halaman utama: Mint, Buy, dan Portfolio.

3.1 Hubungkan Dompet

Mengimplementasikan fungsi koneksi dompet menggunakan komponen yang disediakan oleh Ant Design Web3.

Seri Pemula Web3: Mewujudkan DEX NFT dari nol

3.2 Halaman Mint

Mencapai fungsi pencetakan NFT, menggunakan metode useWriteContract dari wagmi untuk berinteraksi dengan kontrak.

Seri Pemula Web3: Mewujudkan NFT DEX dari Nol

3.3 Halaman Portfolio

Menampilkan NFT yang dimiliki pengguna, mendukung operasi penempatan dan penghapusan. Menggunakan API OpenSea untuk mendapatkan daftar NFT pengguna, dan menentukan status penempatan NFT melalui metode kontrak.

Web3 Pemula Seri: Membangun DEX NFT dari Nol

3.4 Halaman Buy

Tampilkan semua NFT yang telah terdaftar dan sediakan fungsi pembelian. Saat membeli, panggil metode purchaseNFT dari kontrak dan gunakan ETH untuk membayar.

Web3 Pemula Series: Membangun NFT DEX dari Nol

Setelah langkah-langkah di atas selesai, sebuah platform perdagangan NFT desentralisasi dengan fungsi dasar telah dibangun. Platform ini dapat diterapkan di Vercel untuk ditampilkan dan digunakan.

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
  • 7
  • Posting ulang
  • Bagikan
Komentar
0/400
HashRatePhilosophervip
· 5jam yang lalu
Rasanya semua sedang berlomba-lomba NFT, sudah pergi.
Lihat AsliBalas0
MaticHoleFillervip
· 13jam yang lalu
Hal yang mengecoh, lebih baik menyalin dari opensea.
Lihat AsliBalas0
ImpermanentLossEnjoyervip
· 08-11 23:17
Impermanent Loss diartikan sebagai kehilangan koin secara tiba-tiba.
Lihat AsliBalas0
UnluckyMinervip
· 08-10 13:39
Ada proyek baru yang mulai menggali, ayo kita mulai!
Lihat AsliBalas0
BearMarketSurvivorvip
· 08-10 13:38
Ikuti dan mainkan token meme.
Lihat AsliBalas0
SchroedingerAirdropvip
· 08-10 13:38
Lagi-lagi ada jebakan nft, siapa yang mau catch a falling knife scamcoin ini?
Lihat AsliBalas0
HashRateHermitvip
· 08-10 13:37
Lihat lihat lihat smart contract adalah dompet keras!
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)