Pembaca yang telah membaca beberapa artikel sebelumnya seharusnya memahami bahwa untuk token protokol ERC-20, kita dapat melakukan perdagangan melalui pertukaran DEX dan lainnya. Lalu, bagaimana cara melakukan perdagangan desentralisasi untuk protokol ERC-721, yaitu NFT?
Saat ini, platform perdagangan NFT utama umumnya menggunakan metode pemesanan, mirip dengan menampilkan barang di rak supermarket, di mana pembeli dapat membeli jika mereka merasa harga sesuai.
Artikel ini akan mewujudkan perdagangan NFT yang terdesentralisasi melalui penulisan kontrak pintar dan halaman depan sederhana. Perlu dicatat bahwa konten artikel ini hanya untuk referensi belajar dan tidak cocok untuk lingkungan produksi.
NFT( non-fungible token )
NFT adalah token non-fungible yang mengikuti protokol ERC-721, setiap Token adalah unik. Biasanya NFT akan menampilkan gambar yang berbeda di dompet, dan setiap kelompok NFT memiliki ID unik untuk membedakannya.
Karena karakteristik NFT, harga tidak dapat ditentukan melalui kurva harga seperti ERC-20. Saat ini, cara perdagangan yang cukup umum adalah melalui bentuk buku pesanan.
Perdagangan Buku Pesanan
Mode buku pesanan secara sederhana adalah menetapkan harga barang secara manual, berbeda dengan beberapa DEX yang menghitung harga melalui kurva harga. Buku pesanan umumnya memiliki dua mode perdagangan:
Harga yang ditetapkan: Penjual menetapkan harga jual, pembeli dapat membelinya jika merasa sesuai.
Permintaan Pembelian: Pembeli mengeluarkan pesanan permintaan pembelian, penjual dapat menjual jika merasa harga sesuai.
Biasanya harga order beli akan lebih rendah dari harga order jual. Artikel ini hanya memperkenalkan metode penetapan harga yang pertama.
Fungsi Dasar NFT DEX
Sebuah NFT DEX harus mencakup fungsi dasar berikut:
Memasang Produk: Menawarkan NFT dengan harga yang ditentukan
Membeli barang: melakukan pembelian berdasarkan harga NFT
Biaya transaksi DEX: dikenakan biaya berdasarkan persentase harga transaksi
menambahkan produk
Untuk mendaftarkan produk, perlu diselesaikan:
Front-end: Pengguna memilih NFT dan menetapkan harga, kemudian mengklik untuk mengunggah.
Kontrak: Pengguna memberikan wewenang kepada kontrak untuk mengoperasikan NFT.
Dalam kontrak perlu memelihara peta harga produk yang dipajang oleh pengguna, dapat disimpan di layanan tersentralisasi untuk mengurangi beban kontrak, artikel ini akan disimpan dalam kontrak.
Beli barang
Saat membeli barang akan terjadi:
Frontend: Pengguna memilih NFT yang ingin dibeli, lalu mengklik beli.
Kontrak: Mengalihkan dana pembeli kepada penjual, NFT kepada pembeli.
Mewujudkan NFT DEX
Kami akan membangun sebuah NFT DEX dari nol.
1. Buat NFT
Untuk keperluan pengujian, kita dapat dengan cepat membuat NFT berdasarkan protokol ERC-721 menggunakan Remix. Kita juga bisa melewati langkah ini dan langsung menggunakan NFT yang sudah ada.
2. Penulisan Kontrak
Metode kontrak harus mencakup:
2.1 Penjual Mencantumkan NFT
Proses:
Pengguna memilih NFT
Atur harga ( dapat dihargai dalam stablecoin atau ETH )
Memberikan NFT kepada kontrak
Metode penempatan harus:
Verifikasi kepemilikan NFT
Tambahkan catatan penempatan
Memicu acara peluncuran
2.2 Pembeli membeli NFT
Langkah-langkah pelaksanaan kontrak:
Membaca data NFT
Hitung dan potong biaya transaksi
Transfer NFT ke pembeli
Memicu peristiwa pembelian
2.3 Batalkan Pencantuman
Atur bidang isActive dari catatan yang terdaftar menjadi false.
2.4 Penarikan Biaya Transaksi
DEX dapat mengenakan biaya transaksi pada setiap perdagangan, disimpan dalam kontrak atau ditransfer ke alamat tertentu. Artikel ini menggunakan metode penyimpanan dalam kontrak.
3. Pengembangan frontend DEX
Menggunakan alat:
Ant Design Web3: menghubungkan dompet dan menampilkan kartu NFT
Wagmi: interaksi dengan dompet
Nextjs + Vercel: menerapkan proyek
Frontend terdiri dari tiga halaman: Mint, Buy, dan Portfolio.
3.1 Menghubungkan Dompet
Menggunakan komponen koneksi Ant Design Web3 untuk menghubungkan dompet.
3.2 Mint
Menggunakan metode useWriteContract dari wagmi untuk melakukan pencetakan NFT.
3.3 Portofolio
Menampilkan NFT pengguna, mendukung operasi penambahan dan penghapusan. Menggunakan API opensea untuk mendapatkan daftar NFT, melalui kontrak untuk menentukan apakah sudah terdaftar.
3.4 Beli
Tampilkan NFT yang telah terdaftar, dukung operasi pembelian. Panggil metode purchaseNFT untuk menyelesaikan transaksi.
Dengan ini, halaman depan NFT DEX yang memiliki fungsi dasar telah selesai, dan dapat dideploy ke Vercel.
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.
22 Suka
Hadiah
22
8
Posting ulang
Bagikan
Komentar
0/400
AirdropHunterKing
· 08-09 19:23
gas sudah melambung tinggi, jangan teliti hal-hal ini lagi.
Lihat AsliBalas0
CryptoPhoenix
· 08-08 21:10
Rentang bawah benar-benar adalah waktu pengembangan terbaik. Bersabarlah menunggu hasilnya.
Lihat AsliBalas0
LiquidityOracle
· 08-07 16:48
Hah? Membangun lagi sebuah pertukaran nft?
Lihat AsliBalas0
GateUser-afe07a92
· 08-07 02:57
Akhirnya bisa menjual MONKY yang saya simpan.
Lihat AsliBalas0
LiquidityWitch
· 08-07 02:56
mengolah beberapa sihir dex terlarang... jujur saja, struktur pasar ini butuh peningkatan ritual gelap fr
Membangun DEX NFT dari nol: Panduan pengembangan kontrak dan front-end
Membangun DEX NFT dari nol
Pembaca yang telah membaca beberapa artikel sebelumnya seharusnya memahami bahwa untuk token protokol ERC-20, kita dapat melakukan perdagangan melalui pertukaran DEX dan lainnya. Lalu, bagaimana cara melakukan perdagangan desentralisasi untuk protokol ERC-721, yaitu NFT?
Saat ini, platform perdagangan NFT utama umumnya menggunakan metode pemesanan, mirip dengan menampilkan barang di rak supermarket, di mana pembeli dapat membeli jika mereka merasa harga sesuai.
Artikel ini akan mewujudkan perdagangan NFT yang terdesentralisasi melalui penulisan kontrak pintar dan halaman depan sederhana. Perlu dicatat bahwa konten artikel ini hanya untuk referensi belajar dan tidak cocok untuk lingkungan produksi.
NFT( non-fungible token )
NFT adalah token non-fungible yang mengikuti protokol ERC-721, setiap Token adalah unik. Biasanya NFT akan menampilkan gambar yang berbeda di dompet, dan setiap kelompok NFT memiliki ID unik untuk membedakannya.
Karena karakteristik NFT, harga tidak dapat ditentukan melalui kurva harga seperti ERC-20. Saat ini, cara perdagangan yang cukup umum adalah melalui bentuk buku pesanan.
Perdagangan Buku Pesanan
Mode buku pesanan secara sederhana adalah menetapkan harga barang secara manual, berbeda dengan beberapa DEX yang menghitung harga melalui kurva harga. Buku pesanan umumnya memiliki dua mode perdagangan:
Harga yang ditetapkan: Penjual menetapkan harga jual, pembeli dapat membelinya jika merasa sesuai.
Permintaan Pembelian: Pembeli mengeluarkan pesanan permintaan pembelian, penjual dapat menjual jika merasa harga sesuai.
Biasanya harga order beli akan lebih rendah dari harga order jual. Artikel ini hanya memperkenalkan metode penetapan harga yang pertama.
Fungsi Dasar NFT DEX
Sebuah NFT DEX harus mencakup fungsi dasar berikut:
menambahkan produk
Untuk mendaftarkan produk, perlu diselesaikan:
Dalam kontrak perlu memelihara peta harga produk yang dipajang oleh pengguna, dapat disimpan di layanan tersentralisasi untuk mengurangi beban kontrak, artikel ini akan disimpan dalam kontrak.
Beli barang
Saat membeli barang akan terjadi:
Mewujudkan NFT DEX
Kami akan membangun sebuah NFT DEX dari nol.
1. Buat NFT
Untuk keperluan pengujian, kita dapat dengan cepat membuat NFT berdasarkan protokol ERC-721 menggunakan Remix. Kita juga bisa melewati langkah ini dan langsung menggunakan NFT yang sudah ada.
2. Penulisan Kontrak
Metode kontrak harus mencakup:
2.1 Penjual Mencantumkan NFT
Proses:
Metode penempatan harus:
2.2 Pembeli membeli NFT
Langkah-langkah pelaksanaan kontrak:
2.3 Batalkan Pencantuman
Atur bidang isActive dari catatan yang terdaftar menjadi false.
2.4 Penarikan Biaya Transaksi
DEX dapat mengenakan biaya transaksi pada setiap perdagangan, disimpan dalam kontrak atau ditransfer ke alamat tertentu. Artikel ini menggunakan metode penyimpanan dalam kontrak.
3. Pengembangan frontend DEX
Menggunakan alat:
Frontend terdiri dari tiga halaman: Mint, Buy, dan Portfolio.
3.1 Menghubungkan Dompet
Menggunakan komponen koneksi Ant Design Web3 untuk menghubungkan dompet.
3.2 Mint
Menggunakan metode useWriteContract dari wagmi untuk melakukan pencetakan NFT.
3.3 Portofolio
Menampilkan NFT pengguna, mendukung operasi penambahan dan penghapusan. Menggunakan API opensea untuk mendapatkan daftar NFT, melalui kontrak untuk menentukan apakah sudah terdaftar.
3.4 Beli
Tampilkan NFT yang telah terdaftar, dukung operasi pembelian. Panggil metode purchaseNFT untuk menyelesaikan transaksi.
Dengan ini, halaman depan NFT DEX yang memiliki fungsi dasar telah selesai, dan dapat dideploy ke Vercel.