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.
Fitur Dasar Platform NFT
Sebuah platform perdagangan NFT yang dasar harus memiliki fungsi-fungsi berikut:
Menjual NFT: Penjual dapat menetapkan harga untuk menjual NFT.
Membeli NFT: Pembeli dapat membeli NFT yang terdaftar sesuai harga yang ditetapkan
Mengambil biaya transaksi: platform dapat mengambil persentase tertentu dari harga transaksi sebagai biaya.
Menyediakan NFT
Proses untuk menempatkan NFT adalah sebagai berikut:
Penjual memilih NFT yang ingin dipajang dan menetapkan harga
Kontrak perdagangan yang diotorisasi oleh penjual dapat mengoperasikan NFT
Memanggil metode penempatan kontrak, mencatat informasi penempatan
Membeli NFT
Proses membeli NFT adalah sebagai berikut:
Pembeli memilih NFT yang ingin dibeli
Memanggil metode pembelian kontrak
Kontrak akan mentransfer dana pembeli kepada penjual, sambil mentransfer NFT kepada pembeli.
Mewujudkan platform perdagangan
1. Buat NFT uji coba
Anda dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT protokol ERC-721 untuk pengujian.
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
}
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.
3.2 Halaman Mint
Memanggil metode mint dari kontrak NFT untuk membuat NFT uji coba.
3.3 Halaman Portfolio
Mendapatkan NFT yang dimiliki pengguna
Menentukan apakah NFT sudah terdaftar
Mewujudkan fungsi pemasangan dan pencabutan NFT
3.4 Halaman Beli
Menampilkan semua NFT yang telah terdaftar
Mewujudkan fungsi pembelian
Dengan ini, sebuah platform perdagangan NFT desentralisasi yang dasar telah selesai. Anda dapat menerapkannya ke Vercel untuk digunakan dalam pengujian.
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.
9 Suka
Hadiah
9
6
Bagikan
Komentar
0/400
LiquidationWatcher
· 07-04 15:00
sudah mengalami terlalu banyak rugpull untuk mempercayai dex lain... perhatikan biaya dan smart contract fam
Lihat AsliBalas0
hodl_therapist
· 07-04 10:30
Setelah belajar seharian tentang smart contract, sekarang harus mulai dari frontend lagi?
Lihat AsliBalas0
MetaverseLandlady
· 07-01 16:13
Biaya transaksi tidak boleh lebih baik daripada yang dihasilkan oleh penyewa kita, semua uang yang didapatkan hampir habis.
Lihat AsliBalas0
ChainMelonWatcher
· 07-01 16:12
Biaya transaksi adalah pajak IQ murni, kan?
Lihat AsliBalas0
GasFeeCrier
· 07-01 16:04
Sekali lagi mengeluarkan gas koin, kapan harganya bisa lebih murah?
Lihat AsliBalas0
FlashLoanKing
· 07-01 15:54
Mati tertawa, lagi-lagi bersaing dalam smart contract
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.
Fitur Dasar Platform NFT
Sebuah platform perdagangan NFT yang dasar harus memiliki fungsi-fungsi berikut:
Menyediakan NFT
Proses untuk menempatkan NFT adalah sebagai berikut:
Membeli NFT
Proses membeli NFT adalah sebagai berikut:
Mewujudkan platform perdagangan
1. Buat NFT uji coba
Anda dapat menggunakan Remix untuk dengan cepat menerapkan kontrak NFT protokol ERC-721 untuk pengujian.
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 }
3. Mengembangkan antarmuka depan
Gunakan alat berikut untuk mengembangkan frontend:
Frontend mencakup halaman-halaman utama berikut:
3.1 Menghubungkan Dompet
Menggunakan komponen koneksi Ant Design Web3 untuk mengimplementasikan fungsi koneksi dompet.
3.2 Halaman Mint
Memanggil metode mint dari kontrak NFT untuk membuat NFT uji coba.
3.3 Halaman Portfolio
3.4 Halaman Beli
Dengan ini, sebuah platform perdagangan NFT desentralisasi yang dasar telah selesai. Anda dapat menerapkannya ke Vercel untuk digunakan dalam pengujian.