من 0 إلى 1: دليل كامل لبناء تبادل NFT اللامركزي

robot
إنشاء الملخص قيد التقدم

بناء تبادل NFT اللامركزي من الصفر

في المقالات السابقة ، ناقشنا كيف يتم تداول رموز ERC-20 من خلال DEX. فماذا عن NFTs التي تتبع بروتوكول ERC-721 ، كيف يمكن تحقيق التداول اللامركزي لها؟

تستخدم معظم منصات تداول NFT الرئيسية حالياً نموذج الطلب، مما يشبه عرض السلع على الرفوف لتمكين المشترين من الاختيار. ستقوم هذه المقالة بإنشاء نظام تداول NFT اللامركزي الأساسي من خلال كتابة عقود ذكية وواجهة أمامية بسيطة. يجب أن نوضح أن هذه المقالة مخصصة لأغراض التعليم فقط، ولا تصلح للاستخدام في بيئات الإنتاج.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

مقدمة NFT

NFT هو رمز غير قابل للتبادل، كل Token هو فريد من نوعه. يتبع بروتوكول ERC-721، وعادة ما يتم عرضه في المحفظة بأشكال مختلفة من الصور، ولكل NFT معرف فريد للتفريق.

نظرًا لخصوصية NFT، لا يمكن تسعيرها مثل رموز ERC-20 من خلال منحنيات الأسعار. لذلك، عادةً ما يتم إجراء تداول NFT على شكل دفتر طلبات.

! سلسلة Web3 Newbie: تنفيذ NFT DEX من البداية

نمط تداول دفتر الطلبات

في نموذج دفتر الطلبات، يتم تحديد سعر المنتج من قبل البائع وليس يتم حسابه بواسطة خوارزمية. عادةً ما توجد طريقتان للتداول:

  1. أمر التسعير: يحدد البائع سعر البيع، ويمكن للمشتري الشراء إذا اعتقد أن السعر مناسب.
  2. طلب الشراء: يقوم المشتري بنشر طلب شراء، ويمكن للبائع البيع إذا رأى أن السعر مناسب.

ستركز هذه المقالة على طريقة التسعير الأولى.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

وظائف البورصة المركزية لـ NFT

يجب أن يتضمن تبادل NFT الأساسي الميزات التالية:

  1. إدراج المنتج: قم بإدراج NFT بالسعر المحدد
  2. شراء المنتجات: الشراء بناءً على تسعير NFT
  3. رسوم المعاملات: تُفرض بنسبة من سعر الصفقة

عملية الإدراج

  1. يقوم المستخدم باختيار NFT في الواجهة الأمامية وتحديد السعر
  2. المستخدم يخول العقد للتعامل مع NFT الخاصة به
  3. تسجيل معلومات الإدراج في العقد

عملية الشراء

  1. يقوم المستخدم باختيار NFT من الواجهة الأمامية والنقر على شراء
  2. ستقوم العقد بتحويل أموال المشتري إلى البائع، ونقل NFT إلى المشتري

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

تحقيق تبادل NFT

سنبدأ من الصفر لإنشاء تبادل NFT بسيط.

1. إنشاء NFT تجريبي

لتسهيل الاختبار، يمكننا استخدام Remix لنشر عقد NFT بروتوكول ERC-721 بسرعة. بالطبع، يمكننا أيضًا استخدام NFT موجود بالفعل لإجراء الاختبارات.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

2. كتابة العقود الذكية

تحتاج العقود إلى تحقيق الوظائف الرئيسية التالية:

2.1 البائع يعرض NFT

العملية:

  1. تحقق من ملكية NFT
  2. إضافة سجل الإدراج
  3. Trigger حدث الإدراج

! سلسلة Web3 Newbie: تنفيذ NFT DEX من البداية

2.2 المشتري يشتري NFT

العملية:

  1. الحصول على معلومات إدراج NFT
  2. حساب وخصم الرسوم
  3. نقل ملكية NFT
  4. Trigger حدث الشراء

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

2.3 إلغاء الإدراج

يمكن تحقيق ذلك عن طريق تعيين حقل isActive على false.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

2.4 سحب رسوم المعاملات

يمكن لمالك العقد سحب الرسوم المتراكمة.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

3. تطوير واجهة المستخدم

استخدم الأدوات التالية:

  • Ant Design Web3: ربط المحفظة وعرض NFT
  • Wagmi: التفاعل مع المحفظة
  • Next.js + Vercel: نشر المشروع

يتضمن الواجهة الأمامية ثلاث صفحات رئيسية:

  • Mint: إنشاء NFT للاختبار
  • شراء: سوق NFT
  • المحفظة: إدارة NFT للمستخدم

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

3.1 ربط المحفظة

استخدم مكونات الاتصال من Ant Design Web3.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

3.2 صفحة Mint

استخدام طريقة useWriteContract من wagmi لاستدعاء العقد لإصدار NFT.

! سلسلة Web3 Starter: تنفيذ NFT DEX من البداية

3.3 صفحة المحفظة

عرض NFT للمستخدم ودعم عمليات الإدراج / الإلغاء.

! سلسلة Web3 Newbie: تنفيذ NFT DEX من الصفر

3.4 صفحة الشراء

عرض جميع NFT المعروضة للبيع، ودعم وظيفة الشراء.

من خلال الخطوات المذكورة أعلاه، قمنا بإنشاء تبادل NFT اللامركزي مع الوظائف الأساسية. أخيرًا، يمكن نشر المشروع على Vercel للاستخدام.

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 7
  • مشاركة
تعليق
0/400
ChainMaskedRidervip
· 08-04 18:11
هذه المقالة تتحدث عن هراء فقط وكأنها لم تتحدث عن شيء.
شاهد النسخة الأصليةرد0
CommunityWorkervip
· 08-04 01:49
من يريد استخدام dex بدون غاز؟
شاهد النسخة الأصليةرد0
MelonFieldvip
· 08-02 21:21
واو، هذه المقالة مكتوبة بسهولة!
شاهد النسخة الأصليةرد0
GmGmNoGnvip
· 08-02 21:21
懒得学代码 还是去 اقتطاف القسائم吧
شاهد النسخة الأصليةرد0
ILCollectorvip
· 08-02 21:03
آه آه آه هناك مجموعة جديدة من المقتنيات ستخدعني لتحقيق الربح
شاهد النسخة الأصليةرد0
RugPullProphetvip
· 08-02 21:00
ما دام هناك يد، يمكننا البدء، هذا هو الاحترام الأول.
شاهد النسخة الأصليةرد0
LazyDevMinervip
· 08-02 20:53
الواجهة الأمامية كتبت بشكل سيء، لماذا لا تستخدم الإنتاج؟
شاهد النسخة الأصليةرد0
  • تثبيت