Membangun platform perdagangan NFT Desentralisasi: dari smart contract hingga antarmuka depan

Membangun platform perdagangan NFT Desentralisasi dari nol

Untuk NFT yang mengikuti protokol ERC-721, bagaimana cara mewujudkan perdagangan desentralisasi? Saat ini, cara perdagangan NFT yang umum adalah dengan menggunakan model buku pesanan, mirip dengan menampilkan barang di rak, pembeli dapat membeli jika merasa harga sesuai. Artikel ini akan membahas cara membuat kontrak pintar dan halaman depan sederhana untuk mewujudkan sebuah platform perdagangan NFT desentralisasi yang dasar.

Web3 Pemula Series: Mewujudkan DEX NFT dari Nol

Fitur Dasar Platform NFT

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

  1. Menjual NFT: Penjual dapat menetapkan harga untuk menjual NFT.
  2. Membeli NFT: Pembeli dapat membeli NFT yang terdaftar sesuai harga yang ditetapkan
  3. Mengambil biaya transaksi: platform dapat mengambil persentase tertentu dari harga transaksi sebagai biaya.

Menyediakan NFT

Proses untuk menempatkan NFT adalah sebagai berikut:

  1. Penjual memilih NFT yang ingin dipajang dan menetapkan harga
  2. Kontrak perdagangan yang diotorisasi oleh penjual dapat mengoperasikan NFT
  3. Memanggil metode penempatan kontrak, mencatat informasi penempatan

Membeli NFT

Proses membeli NFT adalah sebagai berikut:

  1. Pembeli memilih NFT yang ingin dibeli
  2. Memanggil metode pembelian kontrak
  3. Kontrak akan mentransfer dana pembeli kepada penjual, sambil mentransfer NFT kepada pembeli.

Web3 pemula seri: Membangun sebuah NFT DEX dari nol

Mewujudkan platform perdagangan

1. Buat NFT uji coba

Anda dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT protokol ERC-721 untuk pengujian.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

2. Menulis kontrak transaksi

Kontrak perdagangan perlu mengimplementasikan metode utama berikut:

2.1 Meluncurkan NFT

solidity fungsi listNFT(alamat nftAddress, uint256 tokenId, uint256 harga) publik { // Verifikasi kepemilikan NFT // Mencatat informasi peluncuran
// Memicu peristiwa peluncuran }

2.2 Beli NFT

solidity function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Mendapatkan informasi peluncuran NFT // Hitung dan potong biaya transaksi // Mengalihkan NFT kepada pembeli // Memicu peristiwa pembelian
}

2.3 Batalkan pencatatan

soliditas fungsi cancelListing(alamat nftAddress, uint256 tokenId) publik { // Verifikasi izin operasi // Atur status listing menjadi tidak valid // Memicu acara pembatalan }

2.4 Penarikan Biaya

solidity function withdrawFees() public onlyOwner { // Transfer biaya dalam kontrak }

Web3 Pemula Series: Mewujudkan NFT DEX dari Nol

3. Mengembangkan antarmuka depan

Gunakan alat berikut untuk mengembangkan frontend:

  • Ant Design Web3: untuk koneksi dompet dan NFT tampilan
  • Wagmi: digunakan untuk berinteraksi dengan dompet
  • Next.js + Vercel: menerapkan proyek

Frontend mencakup halaman-halaman utama berikut:

  • Mint: digunakan untuk membuat NFT uji coba
  • Beli: Pasar NFT, dapat membeli NFT yang terdaftar
  • Portofolio: mengelola NFT pengguna, dapat menambahkan dan menghapus

3.1 Menghubungkan Dompet

Menggunakan komponen koneksi Ant Design Web3 untuk mengimplementasikan fungsi koneksi dompet.

Web3 Pemula Seri: Mewujudkan DEX NFT dari Nol

3.2 Halaman Mint

Memanggil metode mint dari kontrak NFT untuk membuat NFT uji coba.

Web3 pemula seri: Mewujudkan NFT DEX dari nol

3.3 Halaman Portfolio

  • Mendapatkan NFT yang dimiliki pengguna
  • Menentukan apakah NFT sudah terdaftar
  • Mewujudkan fungsi pemasangan dan pencabutan NFT

Web3 Pemula Series: Membangun NFT DEX dari Nol

3.4 Halaman Beli

  • Menampilkan semua NFT yang telah terdaftar
  • Mewujudkan fungsi pembelian

Web3 Pemula Series: Mewujudkan DEX NFT dari nol

Dengan ini, sebuah platform perdagangan NFT desentralisasi yang dasar telah selesai. Anda dapat menerapkannya ke Vercel untuk digunakan dalam pengujian.

Web3 pemula seri: Mewujudkan DEX NFT dari nol

Seri Pemula Web3: Mewujudkan DEX NFT dari Nol

Web3 Pemula Seri: Mewujudkan DEX NFT dari Nol

Web3 Pemula Series: Mewujudkan NFT DEX dari Nol

Seri Pemula Web3: Membangun DEX NFT dari Nol

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.
  • Hadiah
  • 6
  • Bagikan
Komentar
0/400
LiquidationWatchervip
· 07-04 15:00
sudah mengalami terlalu banyak rugpull untuk mempercayai dex lain... perhatikan biaya dan smart contract fam
Lihat AsliBalas0
hodl_therapistvip
· 07-04 10:30
Setelah belajar seharian tentang smart contract, sekarang harus mulai dari frontend lagi?
Lihat AsliBalas0
MetaverseLandladyvip
· 07-01 16:13
Biaya transaksi tidak boleh lebih baik daripada yang dihasilkan oleh penyewa kita, semua uang yang didapatkan hampir habis.
Lihat AsliBalas0
ChainMelonWatchervip
· 07-01 16:12
Biaya transaksi adalah pajak IQ murni, kan?
Lihat AsliBalas0
GasFeeCriervip
· 07-01 16:04
Sekali lagi mengeluarkan gas koin, kapan harganya bisa lebih murah?
Lihat AsliBalas0
FlashLoanKingvip
· 07-01 15:54
Mati tertawa, lagi-lagi bersaing dalam smart contract
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)