Panduan lengkap untuk membangun platform perdagangan NFT Desentralisasi dari nol

Membangun sebuah platform perdagangan NFT desentralisasi dari nol

Setelah melakukan penelitian mendalam tentang perdagangan terdesentralisasi token ERC-20, kita tidak bisa tidak bertanya: bagaimana cara mewujudkan perdagangan terdesentralisasi untuk protokol ERC-721 (yaitu NFT)?

Saat ini, platform perdagangan NFT utama menggunakan model pemesanan, mirip dengan tampilan produk di rak supermarket. Pembeli dapat langsung membeli NFT yang harganya sesuai.

Artikel ini akan membawa Anda langkah demi langkah untuk membangun sebuah platform perdagangan NFT desentralisasi yang sederhana, termasuk penulisan kontrak pintar dan pengembangan antarmuka depan dasar. Harap dicatat, konten artikel ini hanya untuk referensi belajar, tidak cocok untuk lingkungan produksi yang sebenarnya.

Web3 Pemula Seri: Mewujudkan DEX NFT dari Nol

NFT简介

NFT (Token Tidak Terduplikasi) mengikuti protokol ERC-721, setiap Token adalah unik. NFT biasanya ditampilkan dalam dompet dalam berbagai bentuk gambar dan memiliki ID eksklusif untuk membedakannya.

Karena keunikan NFT, tidak mungkin untuk menentukan harga seperti token ERC-20 melalui kurva harga. Oleh karena itu, cara umum untuk memperdagangkan NFT adalah dengan menggunakan bentuk buku pesanan.

Seri Pemula Web3: Membangun NFT DEX dari Nol

Mode Perdagangan Order Book

Perdagangan buku pesanan memiliki dua mode utama:

  1. Harga yang ditetapkan: Penjual menetapkan harga jual, pembeli dapat membeli jika merasa sesuai.
  2. Permintaan Pembelian: Pembeli menerbitkan pesanan permintaan pembelian, penjual dapat menjual setelah menyetujui harga.

Biasanya, harga order beli akan lebih rendah daripada harga order jual. Artikel ini akan fokus pada model order jual.

Web3 Pemula Seri: Mewujudkan NFT DEX dari Nol

Fitur Inti Platform Perdagangan NFT Desentralisasi

Sebuah platform perdagangan NFT desentralisasi yang dasar harus memiliki fungsi berikut:

  1. Menjual NFT: Mengizinkan pengguna untuk menetapkan harga dan menjual NFT
  2. Membeli NFT: Pengguna dapat membeli NFT sesuai dengan harga yang ditetapkan.
  3. Biaya platform: Biaya tertentu dikenakan berdasarkan harga transaksi

Proses peluncuran NFT

  1. Frontend: Pengguna memilih NFT dan menetapkan harga, klik untuk meluncurkan.
  2. Kontrak: Pengguna memberikan wewenang kepada kontrak untuk mengoperasikan NFT mereka.

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

Proses Pembelian NFT

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

Seri Pemula Web3: Membangun DEX NFT dari Nol

Membangun platform perdagangan NFT Desentralisasi

Selanjutnya, kita akan secara bertahap mewujudkan sebuah platform perdagangan NFT Desentralisasi.

1. Buat NFT uji coba

Untuk keperluan pengujian, kita dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT yang sesuai dengan protokol ERC-721. Tentu saja, kita juga bisa langsung menggunakan NFT yang sudah ada untuk pengujian.

Seri Pemula Web3: Membangun NFT DEX dari Nol

2. Pengembangan kontrak pintar

Kontrak kami perlu mencakup fungsi inti berikut:

2.1 Penempatan NFT

Penjual perlu menentukan NFT dan harga saat mengunggah NFT. Proses pengunggahan termasuk:

  1. Pengguna memilih NFT
  2. Atur harga (dapat menggunakan USDT, USDC, atau ETH)
  3. Memberikan otorisasi NFT kepada kontrak

Metode penempatan kontrak harus diselesaikan:

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

Web3 Pemula Series: Mewujudkan DEX NFT dari Nol

2.2 Pembelian NFT

Ketika pembeli membeli NFT, kontrak harus dieksekusi:

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

Web3 pemula seri: Mewujudkan NFT DEX dari nol

2.3 Batalkan penempatan

Penjual dapat membatalkan pencantuman NFT. Dalam kontrak, gunakan field isActive untuk menandai apakah produk tersebut valid, saat membatalkan pencantuman, cukup atur field tersebut menjadi false.

Web3新手系列:从 nol 实现一个 NFT DEX

2.4 Penarikan Biaya Transaksi

Platform dapat mengenakan biaya transaksi pada setiap transaksi, dalam contoh ini biaya transaksi disimpan dalam kontrak.

Web3 Pemula Series: Membangun NFT DEX dari Nol

3. Pengembangan Frontend

Pengembangan front-end menggunakan alat berikut:

  • Ant Design Web3: untuk koneksi dompet dan NFT display
  • Wagmi: Mewujudkan interaksi dompet
  • Nextjs + Vercel: menerapkan proyek

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

3.1 Menghubungkan dompet

Gunakan komponen koneksi Ant Design Web3 untuk mengimplementasikan fungsi koneksi dompet. Untuk meningkatkan kecepatan pencarian, disarankan untuk menggunakan layanan node seperti endpoint ZAN.

Web3 Pemula Series: Mewujudkan NFT DEX dari Nol

3.2 Halaman Mint

Menggunakan metode useWriteContract dari wagmi untuk mengimplementasikan fungsi pencetakan NFT.

Seri Pemula Web3: Membangun DEX NFT dari Nol

3.3 Halaman Portofolio

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

Web3 pemula seri: Mewujudkan NFT DEX dari nol

3.4 Halaman Beli

Menampilkan semua NFT yang telah terdaftar, dan menyediakan fungsi pembelian. Saat membeli, panggil metode purchaseNFT dan gunakan ETH untuk membayar.

Web3 Pemula Seri: Mewujudkan NFT DEX dari nol

Setelah menyelesaikan langkah-langkah di atas, sebuah platform perdagangan NFT Desentralisasi dasar telah dibangun. Anda dapat menerapkannya di platform seperti Vercel untuk diuji 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
  • 6
  • Bagikan
Komentar
0/400
NotGonnaMakeItvip
· 21jam yang lalu
Jebakan ini benar-benar wangi, kapan Sumber Terbuka?
Lihat AsliBalas0
SocialFiQueenvip
· 07-20 02:58
Mengikuti tren, benar, sudah saatnya saya membuatnya sendiri.
Lihat AsliBalas0
GateUser-ccc36bc5vip
· 07-20 02:58
Kapan Sumber Terbuka?
Lihat AsliBalas0
bridge_anxietyvip
· 07-20 02:57
Pesanan terbuka transaksi sudah ketinggalan zaman.
Lihat AsliBalas0
TokenSherpavip
· 07-20 02:43
sebenarnya ini cukup mendasar... pernah melihat implementasi yang lebih baik selama hari-hari konsultasi dao saya sejujurnya
Lihat AsliBalas0
HashBanditvip
· 07-20 02:40
masih menunggu skala l2 untuk membuat perdagangan nft dapat diterima... biaya gas itu membunuhku setiap kali smh
Lihat AsliBalas0
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)