ERC-721 protokolünü takip eden NFT'ler için merkeziyetsizlik ticareti sağlama yöntemleri, ERC-20 token'larından farklıdır. Şu anda önde gelen NFT ticaret platformları genellikle ürünlerin süpermarket raflarında sergilendiği gibi, alıcıların uygun fiyatlı ürünleri satın alabileceği bir sistem olan sipariş verme modelini kullanmaktadır.
Bu makale, akıllı sözleşmeler yazılarak ve basit bir ön yüz arayüzü ile temel bir NFT Merkeziyetsizlik ticaret fonksiyonu uygulamayı amaçlamaktadır. Dikkat edilmesi gereken nokta, bu makalenin içeriğinin yalnızca öğrenim referansı için olduğu ve gerçek üretim ortamlarında uygulanmaması gerektiğidir.
NFT Temel Özellikleri
NFT, yani eşsiz token, her bir Token benzersizdir ve ERC-721 protokolünü takip eder. Genel olarak, her NFT cüzdanda farklı bir resim gösterir ve her NFT grubunun ayrımını sağlamak için benzersiz bir ID'si vardır.
NFT'lerin bu özelliği nedeniyle, fiyatlarının ERC-20 tokenleri gibi fiyat eğrisiyle belirlenmesi mümkün değildir. Bu nedenle, mevcut yaygın ticaret yöntemi, emir defteri biçiminde işlem yapmaktır.
Sipariş Defteri İşlem Modu
Sipariş defteri modelinde, ürün fiyatları insanlar tarafından belirlenir, bu da fiyatların algoritmik hesaplamalarla belirlendiği otomatik piyasa yapıcı modelinden farklıdır. Sipariş defterinde genellikle iki tür işlem yöntemi vardır:
Fiyatlandırma emri: Satıcı satış fiyatını belirler, alıcı uygun bulursa satın alabilir.
Talep Siparişi: Alıcı talep siparişi gönderir, satıcı fiyatın uygun olduğunu düşünüyorsa satışı gerçekleştirebilir.
Genel olarak, alım siparişi fiyatı fiyatlandırma siparişinden daha düşük olacaktır. Bu yazıda fiyatlandırma siparişi ticaret yöntemine odaklanılacaktır.
NFT DEX'in Temel Fonksiyonları
Temel bir NFT DEX aşağıdaki ana işlevleri içermelidir:
Ürünleri Yayına Alma: NFT'leri belirlenen fiyatla yayına alma
Ürün satın alma: NFT fiyatlandırmasına göre satın alma
İşlem Ücreti: İşlem fiyatına göre orantılı olarak işlem ücreti alınır
Ürün Yükleme Süreci
Ürünleri listelemek için aşağıdaki adımları tamamlamanız gerekir:
Ön yüz: Kullanıcı NFT seçer ve fiyat belirler, listelemek için tıklar.
Sözleşme: Kullanıcı, NFT'yi işlemesi için sözleşmeyi yetkilendirir.
Sözleşmede, kullanıcıların listelediği ürün fiyatlarının bir haritasını tutmak gerekiyor. Bu veri, sözleşmenin yükünü hafifletmek için merkezi hizmetlerde de saklanabilir, ancak bu yazıda verilerin sözleşmede saklanacağı belirtilmiştir.
Ürün satın alma süreci
Ürün satın alırken aşağıdaki durumlar meydana gelecektir:
Ön uç: Kullanıcı satın almak istediği NFT'yi seçer ve satın al butonuna tıklar.
Sözleşme: Sözleşmeyi çağırarak, alıcının fonlarını satıcıya aktarır ve NFT'yi alıcıya transfer eder.
NFT DEX'in Gerçekleştirilmesi
Sonraki adım, sıfırdan bir NFT DEX oluşturmak.
1. Test amaçlı NFT oluşturma
Test amaçları için, ERC-721 protokolüne uygun bir NFT sözleşmesini hızlı bir şekilde dağıtmak için Remix'i kullanabiliriz. Ayrıca, test için önceden hazırlanmış bir NFT'yi de doğrudan kullanabiliriz.
2. Akıllı sözleşme yazma
Sözleşme aşağıdaki ana yöntemleri içermelidir:
2.1 Satıcı NFT'yi listele
Akış:
Kullanıcı NFT'yi seçer
Fiyat Ayarlama
Sözleşmeye NFT yetkisi ver
Listeleme yöntemini çağır
Yayınlama yöntemi gerektirir:
NFT sahipliğini doğrulama
Listeleme kaydı ekle
Listeleme olayı tetikleme
2.2 Alıcı NFT satın alıyor
Satın alma süreci:
NFT verilerini oku
Ücretleri hesapla ve kes
NFT'yi alıcıya aktar
Satın alma olayı tetikleme
2.3 Satışı İptal Et
Ürün kaydı içindeki isActive alanını false olarak ayarlayın.
2.4 Çekim Ücreti
Sözleşmede biriken işlem ücretlerini belirtilen adrese çekin.
3. DEX ön yüzü geliştirme
Ön uç geliştirme için gerekli olan ana araçlar:
Ant Design Web3: Cüzdan bağlantısı ve NFT sergileme için kullanılır
Wagmi: Cüzdan ile etkileşim için
Next.js + Vercel: projeyi dağıtma
Ön uçta üç ana sayfa bulunmalıdır: Mint, Buy ve Portfolio.
3.1 Cüzdanı Bağla
Ant Design Web3 bileşenlerini kullanarak cüzdan bağlantı işlevini gerçekleştirin.
3.2 Mint sayfası
Test amaçlı NFT mintlemek için wagmi'nin useWriteContract metodunu kullanarak sözleşmeyi çağırın.
3.3 Portföy sayfası
Kullanıcıların sahip olduğu NFT'leri gösterir, listeleme ve kaldırma işlemlerini destekler.
Listeleme için listNFT yöntemini çağırmalısınız, kaldırma işlemi için ise cancelListing yöntemini çağırmalısınız. Listelemeden önce NFT'yi sözleşmeye yetkilendirmeniz gerekmektedir.
3.4 Satın Al sayfası
Tüm listelenmiş NFT'leri gösterir, satın alma işlemini destekler.
Satın alma sırasında purchaseNFT yöntemini çağırın ve ilgili ETH'yi ödeyin.
Yukarıdaki adımları tamamladıktan sonra, temel bir NFT DEX'i gerçekleştirilmiş olur. Bunu Vercel gibi platformlara test ve kullanım için dağıtabilirsiniz.
View Original
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.
Adım adım NFT Merkeziyetsizlik ticaret platformu oluşturma: Sözleşmeden ön uca uygulama.
NFT Merkeziyetsizlik ticareti gerçekleştirme
ERC-721 protokolünü takip eden NFT'ler için merkeziyetsizlik ticareti sağlama yöntemleri, ERC-20 token'larından farklıdır. Şu anda önde gelen NFT ticaret platformları genellikle ürünlerin süpermarket raflarında sergilendiği gibi, alıcıların uygun fiyatlı ürünleri satın alabileceği bir sistem olan sipariş verme modelini kullanmaktadır.
Bu makale, akıllı sözleşmeler yazılarak ve basit bir ön yüz arayüzü ile temel bir NFT Merkeziyetsizlik ticaret fonksiyonu uygulamayı amaçlamaktadır. Dikkat edilmesi gereken nokta, bu makalenin içeriğinin yalnızca öğrenim referansı için olduğu ve gerçek üretim ortamlarında uygulanmaması gerektiğidir.
NFT Temel Özellikleri
NFT, yani eşsiz token, her bir Token benzersizdir ve ERC-721 protokolünü takip eder. Genel olarak, her NFT cüzdanda farklı bir resim gösterir ve her NFT grubunun ayrımını sağlamak için benzersiz bir ID'si vardır.
NFT'lerin bu özelliği nedeniyle, fiyatlarının ERC-20 tokenleri gibi fiyat eğrisiyle belirlenmesi mümkün değildir. Bu nedenle, mevcut yaygın ticaret yöntemi, emir defteri biçiminde işlem yapmaktır.
Sipariş Defteri İşlem Modu
Sipariş defteri modelinde, ürün fiyatları insanlar tarafından belirlenir, bu da fiyatların algoritmik hesaplamalarla belirlendiği otomatik piyasa yapıcı modelinden farklıdır. Sipariş defterinde genellikle iki tür işlem yöntemi vardır:
Fiyatlandırma emri: Satıcı satış fiyatını belirler, alıcı uygun bulursa satın alabilir.
Talep Siparişi: Alıcı talep siparişi gönderir, satıcı fiyatın uygun olduğunu düşünüyorsa satışı gerçekleştirebilir.
Genel olarak, alım siparişi fiyatı fiyatlandırma siparişinden daha düşük olacaktır. Bu yazıda fiyatlandırma siparişi ticaret yöntemine odaklanılacaktır.
NFT DEX'in Temel Fonksiyonları
Temel bir NFT DEX aşağıdaki ana işlevleri içermelidir:
Ürün Yükleme Süreci
Ürünleri listelemek için aşağıdaki adımları tamamlamanız gerekir:
Sözleşmede, kullanıcıların listelediği ürün fiyatlarının bir haritasını tutmak gerekiyor. Bu veri, sözleşmenin yükünü hafifletmek için merkezi hizmetlerde de saklanabilir, ancak bu yazıda verilerin sözleşmede saklanacağı belirtilmiştir.
Ürün satın alma süreci
Ürün satın alırken aşağıdaki durumlar meydana gelecektir:
NFT DEX'in Gerçekleştirilmesi
Sonraki adım, sıfırdan bir NFT DEX oluşturmak.
1. Test amaçlı NFT oluşturma
Test amaçları için, ERC-721 protokolüne uygun bir NFT sözleşmesini hızlı bir şekilde dağıtmak için Remix'i kullanabiliriz. Ayrıca, test için önceden hazırlanmış bir NFT'yi de doğrudan kullanabiliriz.
2. Akıllı sözleşme yazma
Sözleşme aşağıdaki ana yöntemleri içermelidir:
2.1 Satıcı NFT'yi listele
Akış:
Yayınlama yöntemi gerektirir:
2.2 Alıcı NFT satın alıyor
Satın alma süreci:
2.3 Satışı İptal Et
Ürün kaydı içindeki isActive alanını false olarak ayarlayın.
2.4 Çekim Ücreti
Sözleşmede biriken işlem ücretlerini belirtilen adrese çekin.
3. DEX ön yüzü geliştirme
Ön uç geliştirme için gerekli olan ana araçlar:
Ön uçta üç ana sayfa bulunmalıdır: Mint, Buy ve Portfolio.
3.1 Cüzdanı Bağla
Ant Design Web3 bileşenlerini kullanarak cüzdan bağlantı işlevini gerçekleştirin.
3.2 Mint sayfası
Test amaçlı NFT mintlemek için wagmi'nin useWriteContract metodunu kullanarak sözleşmeyi çağırın.
3.3 Portföy sayfası
Kullanıcıların sahip olduğu NFT'leri gösterir, listeleme ve kaldırma işlemlerini destekler.
Listeleme için listNFT yöntemini çağırmalısınız, kaldırma işlemi için ise cancelListing yöntemini çağırmalısınız. Listelemeden önce NFT'yi sözleşmeye yetkilendirmeniz gerekmektedir.
3.4 Satın Al sayfası
Tüm listelenmiş NFT'leri gösterir, satın alma işlemini destekler.
Satın alma sırasında purchaseNFT yöntemini çağırın ve ilgili ETH'yi ödeyin.
Yukarıdaki adımları tamamladıktan sonra, temel bir NFT DEX'i gerçekleştirilmiş olur. Bunu Vercel gibi platformlara test ve kullanım için dağıtabilirsiniz.