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.
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.
Mode Perdagangan Order Book
Perdagangan buku pesanan memiliki dua mode utama:
Harga yang ditetapkan: Penjual menetapkan harga jual, pembeli dapat membeli jika merasa sesuai.
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.
Fitur Inti Platform Perdagangan NFT Desentralisasi
Sebuah platform perdagangan NFT desentralisasi yang dasar harus memiliki fungsi berikut:
Menjual NFT: Mengizinkan pengguna untuk menetapkan harga dan menjual NFT
Membeli NFT: Pengguna dapat membeli NFT sesuai dengan harga yang ditetapkan.
Biaya platform: Biaya tertentu dikenakan berdasarkan harga transaksi
Proses peluncuran NFT
Frontend: Pengguna memilih NFT dan menetapkan harga, klik untuk meluncurkan.
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
Frontend: Pengguna memilih NFT yang ingin dibeli, kemudian mengklik beli.
Kontrak: Menjalankan operasi transfer, mengalihkan dana pembeli kepada penjual, sekaligus mentransfer NFT kepada pembeli.
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.
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:
Pengguna memilih NFT
Atur harga (dapat menggunakan USDT, USDC, atau ETH)
Memberikan otorisasi NFT kepada kontrak
Metode penempatan kontrak harus diselesaikan:
Verifikasi kepemilikan NFT
Tambahkan catatan listing
Memicu peristiwa peluncuran
2.2 Pembelian NFT
Ketika pembeli membeli NFT, kontrak harus dieksekusi:
Membaca data NFT
Hitung dan potong biaya transaksi
Transfer NFT kepada pembeli
Memicu peristiwa pembelian
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.
2.4 Penarikan Biaya Transaksi
Platform dapat mengenakan biaya transaksi pada setiap transaksi, dalam contoh ini biaya transaksi disimpan dalam kontrak.
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.
3.2 Halaman Mint
Menggunakan metode useWriteContract dari wagmi untuk mengimplementasikan fungsi pencetakan NFT.
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.
3.4 Halaman Beli
Menampilkan semua NFT yang telah terdaftar, dan menyediakan fungsi pembelian. Saat membeli, panggil metode purchaseNFT dan gunakan ETH untuk membayar.
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.
15 Suka
Hadiah
15
6
Bagikan
Komentar
0/400
NotGonnaMakeIt
· 21jam yang lalu
Jebakan ini benar-benar wangi, kapan Sumber Terbuka?
Lihat AsliBalas0
SocialFiQueen
· 07-20 02:58
Mengikuti tren, benar, sudah saatnya saya membuatnya sendiri.
Lihat AsliBalas0
GateUser-ccc36bc5
· 07-20 02:58
Kapan Sumber Terbuka?
Lihat AsliBalas0
bridge_anxiety
· 07-20 02:57
Pesanan terbuka transaksi sudah ketinggalan zaman.
Lihat AsliBalas0
TokenSherpa
· 07-20 02:43
sebenarnya ini cukup mendasar... pernah melihat implementasi yang lebih baik selama hari-hari konsultasi dao saya sejujurnya
Lihat AsliBalas0
HashBandit
· 07-20 02:40
masih menunggu skala l2 untuk membuat perdagangan nft dapat diterima... biaya gas itu membunuhku setiap kali smh
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.
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.
Mode Perdagangan Order Book
Perdagangan buku pesanan memiliki dua mode utama:
Biasanya, harga order beli akan lebih rendah daripada harga order jual. Artikel ini akan fokus pada model order jual.
Fitur Inti Platform Perdagangan NFT Desentralisasi
Sebuah platform perdagangan NFT desentralisasi yang dasar harus memiliki fungsi berikut:
Proses peluncuran NFT
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
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.
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:
Metode penempatan kontrak harus diselesaikan:
2.2 Pembelian NFT
Ketika pembeli membeli NFT, kontrak harus dieksekusi:
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.
2.4 Penarikan Biaya Transaksi
Platform dapat mengenakan biaya transaksi pada setiap transaksi, dalam contoh ini biaya transaksi disimpan dalam kontrak.
3. Pengembangan Frontend
Pengembangan front-end menggunakan alat berikut:
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.
3.2 Halaman Mint
Menggunakan metode useWriteContract dari wagmi untuk mengimplementasikan fungsi pencetakan NFT.
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.
3.4 Halaman Beli
Menampilkan semua NFT yang telah terdaftar, dan menyediakan fungsi pembelian. Saat membeli, panggil metode purchaseNFT dan gunakan ETH untuk membayar.
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.