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.
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.
Mode Perdagangan Order Book
Model perdagangan buku pesanan terutama dibagi menjadi dua jenis:
Harga tetap: Penjual menetapkan harga tetap, pembeli dapat langsung membeli setelah menyetujui.
Permintaan Pembelian: Pembeli menerbitkan permintaan untuk membeli, dan penjual menyetujui sebelum menyelesaikan transaksi.
Artikel ini akan fokus pada metode perdagangan order harga.
NFT Desentralisasi platform inti fungsi
Sebuah platform perdagangan NFT desentralisasi yang dasar harus mencakup fungsi-fungsi berikut:
Produk Didaftarkan: Memungkinkan pengguna menetapkan harga dan mendaftarkan NFT
Pembelian produk: Pengguna dapat membeli NFT sesuai dengan harga yang ditetapkan.
Biaya platform: Biaya tertentu akan dikenakan berdasarkan harga transaksi.
Proses Penempatan Produk
Frontend: Pengguna memilih NFT dan menetapkan harga, lalu mengklik untuk mendaftar.
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
Frontend: Pengguna memilih NFT yang ingin dibeli, lalu mengklik beli.
Kontrak: Melakukan operasi transfer, mentransfer dana pembeli kepada penjual, sekaligus mentransfer NFT kepada pembeli.
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.
2. Penulisan kontrak
Kontrak harus mencakup metode inti berikut:
2.1 Penjual mengunggah NFT
Metode peluncuran harus menyelesaikan tugas berikut:
Verifikasi kepemilikan NFT
Tambahkan catatan peluncuran
Memicu acara peluncuran
2.2 Pembeli membeli NFT
Untuk membeli, lakukan langkah-langkah berikut:
Membaca data NFT dari catatan peluncuran
Hitung dan potong biaya transaksi
Mengalihkan NFT kepada pembeli
Memicu peristiwa pembelian
2.3 Batalkan pencantuman
Dengan mengatur field isActive dalam catatan listing menjadi false untuk mengimplementasikan fungsi pembatalan listing.
2.4 Penarikan Biaya Transaksi
Platform dapat mengenakan biaya transaksi pada setiap transaksi, dan disimpan dalam kontrak atau ditransfer ke alamat yang ditentukan.
3. Pengembangan front-end
Pengembangan front-end memerlukan penggunaan alat berikut:
Ant Design Web3: digunakan untuk koneksi dompet dan tampilan NFT
Wagmi: digunakan untuk berinteraksi dengan dompet
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.
3.2 Halaman Mint
Mencapai fungsi pencetakan NFT, menggunakan metode useWriteContract dari wagmi untuk berinteraksi dengan kontrak.
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.
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.
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.
26 Suka
Hadiah
26
7
Posting ulang
Bagikan
Komentar
0/400
HashRatePhilosopher
· 5jam yang lalu
Rasanya semua sedang berlomba-lomba NFT, sudah pergi.
Lihat AsliBalas0
MaticHoleFiller
· 13jam yang lalu
Hal yang mengecoh, lebih baik menyalin dari opensea.
Lihat AsliBalas0
ImpermanentLossEnjoyer
· 08-11 23:17
Impermanent Loss diartikan sebagai kehilangan koin secara tiba-tiba.
Lihat AsliBalas0
UnluckyMiner
· 08-10 13:39
Ada proyek baru yang mulai menggali, ayo kita mulai!
Lihat AsliBalas0
BearMarketSurvivor
· 08-10 13:38
Ikuti dan mainkan token meme.
Lihat AsliBalas0
SchroedingerAirdrop
· 08-10 13:38
Lagi-lagi ada jebakan nft, siapa yang mau catch a falling knife scamcoin ini?
Lihat AsliBalas0
HashRateHermit
· 08-10 13:37
Lihat lihat lihat smart contract adalah dompet keras!
Panduan lengkap membangun platform perdagangan NFT Desentralisasi dari nol
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.
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.
Mode Perdagangan Order Book
Model perdagangan buku pesanan terutama dibagi menjadi dua jenis:
Artikel ini akan fokus pada metode perdagangan order harga.
NFT Desentralisasi platform inti fungsi
Sebuah platform perdagangan NFT desentralisasi yang dasar harus mencakup fungsi-fungsi berikut:
Proses Penempatan Produk
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
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.
2. Penulisan kontrak
Kontrak harus mencakup metode inti berikut:
2.1 Penjual mengunggah NFT
Metode peluncuran harus menyelesaikan tugas berikut:
2.2 Pembeli membeli NFT
Untuk membeli, lakukan langkah-langkah berikut:
2.3 Batalkan pencantuman
Dengan mengatur field isActive dalam catatan listing menjadi false untuk mengimplementasikan fungsi pembatalan listing.
2.4 Penarikan Biaya Transaksi
Platform dapat mengenakan biaya transaksi pada setiap transaksi, dan disimpan dalam kontrak atau ditransfer ke alamat yang ditentukan.
3. Pengembangan front-end
Pengembangan front-end memerlukan penggunaan alat berikut:
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.
3.2 Halaman Mint
Mencapai fungsi pencetakan NFT, menggunakan metode useWriteContract dari wagmi untuk berinteraksi dengan kontrak.
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.
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.
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.