ما امتداد Enumerable؟
امتداد Enumerable هو جزء اختياري من معيار الرموز غير القابلة للاستبدال ERC-721، يتيح للعقود الذكية وتطبيقات العملات المشفرة اكتشاف معرّفات توكنات NFT عبر استعلامات الفهرسة على السلسلة.يُعرف عادةً باسم الواجهة
يعرّف مواصفات ERC-721 الرسمية هذا الامتداد بأنه وسيلة تتيح للعقد نشر القائمة الكاملة لتوكنات NFT الصالحة ومعرّفات التوكنات التي يملكها كل عنوان.
يضيف الامتداد ثلاث دوال هي
ولا تحل محل دوال مثل
لماذا يُسمى Enumerable؟
يعني تعداد مجموعة تحديد عناصرها واحداً تلو الآخر باستخدام فهرس أو طريقة منظمة أخرى.تستطيع واجهة ERC-721 الأساسية إخبار التطبيق بمالك معرّف توكن معروف.كما يمكنها إخبار التطبيق بعدد توكنات NFT التي يملكها عنوان ما.لكن الواجهة الأساسية لا توفر دالة مباشرة على السلسلة لاكتشاف كل معرّفات التوكنات الموجودة أو كل معرّفات التوكنات التي يملكها مالك معين.يسد امتداد Enumerable هذه الفجوة بإضافة إمكانية الوصول المفهرس إلى المجموعة بأكملها وإلى ممتلكات كل مالك.يمكن للتطبيق البدء بالفهرس صفر ومتابعة الاستعلام عن الفهارس الأعلى حتى يبلغ إجمالي المعروض أو رصيد المالك ذي الصلة.ما معرّف واجهة امتداد Enumerable؟
معرّف واجهة ERC-165 لامتداد ERC-721 Enumerable هو
ينبغي للعقد المتوافق أن يعيد
يتيح معيار اكتشاف الواجهات ERC-165 للتطبيقات سؤال العقد الذكي عن الواجهات التي يعلن تنفيذها.
لواجهة ERC-721 الأساسية معرّف واجهة منفصل، لذا يمكن للتطبيق اختبار دعم الواجهة الأساسية وامتداد Enumerable كلٌّ على حدة.يجب على العقد الذي ينفذ امتداد Enumerable أن ينفذ أيضاً واجهة ERC-721 الأساسية.تحسّن الاستجابة الإيجابية لاكتشاف الواجهة التحقق من التوافق، لكنها لا تثبت صحة التنفيذ أو أمانه أو نزاهته.الدوال التي يضيفها امتداد Enumerable
لا يضيف امتداد Enumerable سوى ثلاث دوال استعلام عامة.تعيد دالة
تعيد دالة
وتعيد دالة
دالة totalSupply
تعيد دالة
لذلك لا تساوي قيمة
دالة tokenByIndex
تعيد دالة
يجب أن يكون الفهرس صالحاً وأقل من القيمة التي تعيدها
دالة tokenOfOwnerByIndex
تعيد دالة
يبدأ الفهرس من صفر ويجب أن يكون أقل من نتيجة
كيف تعمل الدوال الثلاث معاً؟
يمكن للتطبيق استدعاء
بعد ذلك، يمكنه استدعاء
وبالنسبة إلى كل معرّف توكن معاد، يمكنه استدعاء
ولعرض ممتلكات عنوان معين، يمكن للتطبيق استدعاء
ترتيب التعداد غير مضمون
لا تحدد مواصفات ERC-721 ترتيباً مطلوباً للفرز في
التعداد باستخدام Swap-and-Pop
يستخدم أحد أساليب التنفيذ الشائعة تقنية تسمى Swap-and-Pop لإزالة معرّفات التوكنات بكفاءة من المصفوفات.عند إزالة توكن، يضع التنفيذ التوكن الأخير في المصفوفة في موضع التوكن المُزال السابق.ثم يحذف العنصر الأخير من المصفوفة.يمنع ذلك الحاجة إلى تحريك كل التوكنات التالية، ويحافظ على انخفاض نسبي في تعقيد الإزالة.لكن هذه الطريقة تغيّر ترتيب معرّفات التوكنات المتبقية.يستخدم تنفيذ OpenZeppelin ERC721Enumerable الحالي هذه الطريقة للفهرسة العامة وفهرسة المالكين.
لذلك ينبغي للتطبيق إعادة بدء التصفح بالصفحات أو تسوية النتائج بعناية إذا تغيرت الملكية أثناء عملية تعداد طويلة.مثال على التعداد على مستوى المجموعة
لنفترض أن عقد ERC-721 يعرض إجمالي معروض قدره أربعة.يستدعي التطبيق
ويمكنه استدعاء
مثال على تعداد توكنات المالك
لنفترض أن أليس تملك معرّفات التوكنات 9 و30 و88 في عقد NFT يدعم التعداد.تعيد دالة
يستعلم التطبيق عن فهارس المالك صفر وواحد واثنين باستخدام
امتداد Enumerable مقارنةً بمعيار ERC-721 الأساسي
يوفر معيار ERC-721 الأساسي الملكية والتحويلات والموافقات والأحداث وفحوصات المستلمين الآمنة.ويمكنه الإجابة عن سؤالَي ما إذا كان معرّف توكن معروف موجوداً ومن يملكه.لكنه لا يوفر قائمة موحدة على السلسلة بكل معرّفات التوكنات.يضيف امتداد Enumerable طبقة اكتشاف هذه التوكنات.يمكن لمجموعة لا تدعم التعداد تحويل توكنات NFT بشكل طبيعي والعمل مع المحافظ المتوافقة مع ERC-721.ولا يعني غياب التعداد أن توكن NFT غير صالح أو غير متوافق.ينبغي للتطبيقات دعم المجموعات التي تدعم التعداد والتي لا تدعمه إذا كانت تريد توافقاً واسعاً مع ERC-721.امتداد Enumerable مقارنةً بامتداد Metadata
يحدد امتداد Enumerable معرّفات التوكنات الموجودة وممتلكات المالكين.أما امتداد Metadata فيوفر اسم المجموعة ورمزها وURI التوكن.لا يصف التعداد الصورة أو السمات أو العنوان أو المحتوى الخارجي المرتبط بتوكن NFT.ولا يوفر دعم البيانات الوصفية قائمة كاملة بالتوكنات.يمكن للعقد تنفيذ أي من الامتدادين أو كليهما أو عدم تنفيذ أي منهما مع الاستمرار في تنفيذ وظائف ERC-721 الأساسية.ينبغي للتطبيقات التحقق من كل واجهة على حدة.امتداد Enumerable مقارنةً بدالة totalSupply وحدها
تضيف بعض عقود NFT دالة
وجود اسم دالة مألوف لا يثبت دعم
لماذا تستهلك إضافة Enumerable مزيداً من الغاز؟
يتطلب التعداد من العقد صيانة هياكل تخزين إضافية.يخزن التنفيذ الشائع مصفوفة تضم جميع معرّفات التوكنات الموجودة.كما يخزن قائمة توكنات مفهرسة لكل مالك وخرائط تسجل مواضع التوكنات.يجب أن تضيف عملية السك التوكن الجديد إلى القائمة العامة وقائمة المالك معاً.ويجب أن يزيل التحويل التوكن من قائمة المالك السابق ويضيفه إلى قائمة المالك الجديد.كما يجب أن يزيل الحرق التوكن من قائمة المالك والقائمة العامة.تزيد عمليات الكتابة الإضافية هذه تكلفة الغاز للمعاملات التي تغير الحالة.تشير إرشادات تنفيذ ERC-721 الحالية إلى أن الامتداد يُستبعد في كثير من الأحيان لأنه يضيف عبئاً كبيراً على الغاز.
هل استعلامات التعداد مجانية؟
يمكن للمستخدم استدعاء دوال العرض عبر نقطة نهاية RPC من دون إرسال معاملة إلى البلوكشين.في هذه الحالة لا تُدفع رسوم غاز على السلسلة، لأن العقدة تحاكي القراءة محلياً.لكن العقدة لا تزال تنفذ عمليات حسابية، وقد تفرض حدوداً لمعدل الطلبات أو قيوداً عليها.إذا استدعى عقد ذكي دالة تعداد أثناء معاملة، تستهلك العملية غاز المعاملة.وقد تصبح الحلقة التي تستعلم على السلسلة عن مئات أو آلاف فهارس التوكنات باهظة جداً إلى حد يتعذر معه إكمالها.ينبغي للمطورين عدم الخلط بين القراءة خارج السلسلة من دون رسوم غاز وبين القدرة غير المحدودة على الحساب على السلسلة.الحلقات وحدود غاز الكتلة
ينبغي للعقد الذكي تجنب الدوال التي تغير الحالة وتدور على كل توكن NFT في مجموعة أو كل توكن NFT يملكه عنوان غير محدد القيود.قد يزداد عدد التكرارات بمرور الوقت إلى أن تتجاوز المعاملة حد غاز الكتلة.تحذر وثائق أمان Solidity من أن الحلقات المعتمدة على التخزين قد تجعل عمليات العقد غير قابلة للإكمال في نهاية المطاف.
لا تنشئ دوال العرض المستدعاة خارج السلسلة رسوم المعاملة نفسها، لكنها قد تثقل أيضاً كاهل مزود RPC.ينبغي للتطبيقات استخدام صفحات محدودة أو استعلامات فهرس فردية أو فهرسة خارج السلسلة لمجموعات البيانات الكبيرة.فهرسة الأحداث خارج السلسلة كبديل
يصدر كل عقد ERC-721 متوافق أحداث
امتداد Enumerable مقارنةً بفهرسة الأحداث
يوفر التعداد على السلسلة للعقود الذكية وصولاً موحداً ومباشراً إلى فهارس التوكنات.أما فهرسة الأحداث فتوفر اكتشافاً أغنى وأكثر قابلية للتوسع خارج السلسلة.يفيد التعداد عندما يحتاج عقد ذكي آخر إلى التحقق من معرّفات التوكنات أو اختيارها من دون الاعتماد على قاعدة بيانات خارجية.وتكون فهرسة الأحداث عادةً أكثر عملية لواجهات المحافظ وصفحات المجموعات والتحليلات والبحث التاريخي.يمكن للمشروع دعم الطريقتين معاً.يعتمد الخيار الأنسب على ما إذا كانت إمكانية الاكتشاف على السلسلة تستحق الغاز الإضافي المدفوع عند كل عملية سك أو تحويل أو حرق.هل يوفر التعداد تقسيم النتائج إلى صفحات؟
لا يعرّف الامتداد دالة تعيد صفحة من معرّفات التوكنات.بل يوفر معرّف توكن واحداً لكل استعلام عن فهرس.يمكن للتطبيق خارج السلسلة إنشاء صفحات بطلب نطاق محدود من الفهارس.فعلى سبيل المثال، قد تستعلم الصفحة الأولى عن الفهارس من صفر إلى 49، والصفحة الثانية عن الفهارس من 50 إلى 99.يجب على التطبيق مراعاة التغيرات في المعروض والترتيب أثناء الانتقال بين الصفحات.قد يؤدي تحويل أو حرق إلى نقل التوكنات بين الفهارس، ما يسبب فقدان معرّف أو تكراره في عملية تصفح طويلة.يمكن استخدام بيانات من ارتفاع كتلة ثابت واحد للحصول على لقطة أكثر اتساقاً إذا كان نظام RPC يدعم الاستدعاءات التاريخية.هل يسرد التعداد جميع المالكين؟
يسرد الامتداد معرّفات التوكنات على مستوى المجموعة ومعرّفات التوكنات التي يملكها مالك معروف.لكنه لا يوفر دالة تعيد كل عناوين المالكين الفريدة.يمكن للتطبيق استنتاج المالكين باستدعاء
هل يثبت التعداد أصالة التوكن؟
لا، فالتعداد لا يعرض سوى معرّفات التوكنات التي يتتبعها عقد ذكي معين.يمكن لأي شخص نشر عقد ERC-721 يدعم التعداد بأسماء أو صور أو رموز أو بيانات وصفية منسوخة.تظل شبكة البلوكشين وعنوان العقد الكامل جزءين أساسيين من هوية توكن NFT.ولا يثبت تنفيذ واجهة التعداد بشكل صحيح أن الجهة المصدرة تملك العمل الفني أو تتحكم في الأصل المزعوم أو تتصرف بنزاهة.ينبغي للمستخدمين التحقق من العقد عبر معلومات موثوقة عن المشروع ومراجعة صلاحياته بأنفسهم.هل تثبت totalSupply الندرة؟
لا يثبت عدد المعروض الحالي وجود حد أقصى دائم للمعروض.فقد يحتوي العقد على دالة سك عامة أو دور سك للمسؤول أو نظام سك عبر جسر أو صلاحية ترقية.وقد يكون من الممكن سك معرّف توكن لا يملكه أحد حالياً في وقت لاحق.كما يمكن للعقود القابلة للترقية تغيير قواعد المعروض بعد النشر.ينبغي للمستخدمين فحص الشفرة البرمجية ونموذج التحكم في الوصول قبل الاعتماد على ادعاء الندرة.يسهّل التعداد الاستعلام عن المعروض الحالي، لكنه لا يفرض الوعود الاقتصادية.السك والتعداد
عند سك توكن NFT جديد، يجب على التنفيذ الداعم للتعداد إضافة معرّف التوكن إلى الفهرس العام وفهرس المالك الأول.ثم يرتفع إجمالي المعروض بمقدار واحد.يمكن أن يظهر معرّف التوكن في أي فهرس عام صالح يسمح به التنفيذ.لا تفرض سياسة السك المتتابع بقاء فهرس التعداد مساوياً لمعرّف التوكن.يجب أن يحدّث منطق السك المخصص كل هياكل التعداد المطلوبة باتساق.قد يؤدي التحديث غير المكتمل إلى اختلاف الأرصدة وسجلات الملكية وإجمالي المعروض ونتائج التعداد.التحويلات والتعداد
لا يغير التحويل عادةً إجمالي المعروض.بل يزيل معرّف التوكن من تعداد المالك السابق ويضيفه إلى تعداد المستلم.وتظل قائمة التوكنات العامة عادةً محتفظة بمعرّف التوكن نفسه.قد تتغير مواضع الفهارس الخاصة بالمالك أثناء عملية الإزالة.تتطلب التحويلات الذاتية، التي يكون فيها المرسل والمستلم العنوان نفسه، تنفيذاً دقيقاً.تعالج التطبيقات التي خضعت للمراجعة هذه الحالة من دون إزالة التوكن أو تكراره على نحو خاطئ.الحرق والتعداد
يزيل حرق التوكن من ملكية ERC-721 الصالحة.ويزيل التنفيذ الداعم للتعداد معرّف التوكن المحروق من قائمة المالك والقائمة العامة.وينخفض إجمالي المعروض.ولا ينبغي استخدام فهارس المالك والفهارس العامة القديمة للتوكن.قد تنتقل توكنات أخرى إلى تلك المواضع عند الإزالة باستخدام Swap-and-Pop.ينبغي للتطبيقات التاريخية استخدام الأحداث بدلاً من التعداد الحالي عندما تحتاج إلى سجل توكنات NFT المحروقة.التوافق مع السك الدفعي
تدعم بعض تطبيقات ERC-721 السك الدفعي المضغوط أو المتتابع أثناء إنشاء العقد.قد تحسب هذه الأنظمة الملكية من دون تسجيل كل توكن عبر منطق تحديث التعداد المعتاد.يحذر تنفيذ OpenZeppelin الحالي من أن امتداد السك المتتابع يتعارض مع
التعداد والعقود القابلة للترقية
يمكن لعقد NFT قابل للترقية إضافة المنطق أو تعديله بعد النشر إذا سمح نظام الحوكمة بذلك.وتتطلب إضافة التعداد بعد وجود عدد كبير من توكنات NFT عناية خاصة.فقد يبدأ تخزين التعداد الجديد فارغاً رغم أن العقد الأساسي يتتبع بالفعل آلاف التوكنات.قد تكون هناك حاجة إلى عملية ترحيل لملء الفهارس العامة وفهارس المالكين.وقد تتجاوز حلقات الترحيل الكبيرة على السلسلة حدود الغاز.كما يمكن لأخطاء تخطيط التخزين إفساد بيانات الملكية أو الموافقات الموجودة.ينبغي لمسؤولي الترقية استخدام إجراءات ترحيل مختبرة ومعاملات محدودة ومراجعة أمنية مستقلة.التعداد ومنطق balanceOf المخصص
يعتمد تعداد المالك على دقة معلومات رصيد ERC-721.قد يتعارض الامتداد الذي يحسب
مخاطر الأمان للتطبيقات المتكاملة
ينبغي للتطبيق التحقق من دعم التعداد قبل استدعاء دوال الامتداد.وعليه التعامل مع أخطاء تجاوز حدود الفهارس بدلاً من افتراض صلاحية فهرس سبق رصده.كما يجب ألا يعتمد على ترتيب التعداد في حسابات الندرة أو الأولوية أو الحسابات المالية.وينبغي له الحماية من النتائج المكررة أو المفقودة إذا تغيرت الحالة أثناء تقسيم النتائج إلى صفحات.وعليه أيضاً التحقق من أن كل معرّف توكن معاد يتبع العقد والشبكة المتوقعين.قد تحتاج القرارات عالية القيمة إلى لقطة متسقة للكتلة ومستوى نهائية مناسب.اتساق بيانات RPC
قد تعيد نقطة نهاية RPC بيانات التعداد من كتلة حديثة أو آمنة أو نهائية أو تاريخية، بحسب الشبكة وإعدادات الطلب.قد تنتج عن استدعاءين أُجريا عند ارتفاعي كتلة مختلفين قائمتان مختلفتان للمعروض أو المالكين.قد يظهر توكن NFT نُقل حديثاً ضمن مالكين مختلفين في مصادر بيانات غير متزامنة.ينبغي للتطبيقات تسجيل رقم الكتلة المستخدم في استعلامات التعداد المتعددة كلما كان الاتساق مهماً.ويمكن للأنظمة الحيوية مقارنة عدة عقد أو تشغيل عقدة يجري التحقق منها بصورة مستقلة.يقلل التعداد الاعتماد على واجهة API خاصة بالمجموعة، لكنه لا يلغي جميع اعتبارات الثقة بنظام RPC.فوائد امتداد Enumerable
يوفر الامتداد طريقة موحدة لاكتشاف جميع معرّفات التوكنات الحالية.ويتيح لعقد ذكي آخر الاستعلام عن ممتلكات مالك من توكنات NFT من دون فهرس خارجي.كما يوفر دالة قياسية للمعروض الحالي.وقد يبسّط التعامل مع المجموعات الصغيرة وألعاب البلوكشين وأنظمة العضوية والتطبيقات التي تتطلب اختيار التوكنات مباشرة.كما يجعل الاستعلام الأساسي عن مخزون توكنات NFT متاحاً حتى إذا اختفى موقع المشروع أو قاعدة بياناته الخاصة.قيود امتداد Enumerable
يزيد الامتداد تكاليف الغاز عند السك والتحويل والحرق.ولا يضمن ثبات ترتيب التوكنات.ولا يوفر وظائف مدمجة لتقسيم النتائج إلى صفحات أو فرزها أو تصفيتها أو تعداد حامليها.كما يعرض التوكنات الحالية لا سجلاً تاريخياً كاملاً.وقد لا يتوافق مع السك الدفعي المضغوط أو أنظمة الأرصدة المخصصة.وتظل الحلقات الكبيرة على السلسلة مقيدة بحدود غاز المعاملة.ولا يوفر الامتداد أيضاً بيانات وصفية أو إتاوات أو أسعاراً أو إثباتاً للأصالة أو ضماناً لحد المعروض.متى ينبغي للمشروع استخدام التعداد؟
قد يستفيد المشروع من التعداد عندما تحتاج العقود الذكية إلى اكتشاف معرّفات التوكنات مباشرةً على السلسلة.وقد يكون مناسباً أيضاً لمجموعة صغيرة يمكن قبول تكلفة التحويل الإضافية فيها.قد تستخدمه لعبة عندما يحتاج منطق العقد إلى اختيار أحد توكنات NFT الخاصة باللاعب حسب الفهرس.وقد يستخدمه عقد عضوية عندما تحتاج عملية على السلسلة إلى فحص توكنات العضوية الحالية لحاملها.ومع ذلك، ينبغي للمشروع وضع حدود للحلقات والنظر في كفاءة استخدام خريطة أبسط أو فهرس خاص بالتطبيق.متى قد يتجنب المشروع التعداد؟
قد تتجنب مجموعة NFT كبيرة التعداد لخفض تكلفة كل عملية سك وتحويل وحرق.وقد يتجنبه المشروع أيضاً عندما تعتمد جميع وظائف الاكتشاف والبحث بالفعل على فهرس أحداث خارج السلسلة.قد تستخدم أنظمة السك الدفعي المضغوط نماذج ملكية لا تعمل بكفاءة مع تخزين التعداد القياسي.وقد لا يستفيد مشروع لا يحتاج مطلقاً إلى عرض التوكنات على السلسلة كثيراً من دفع تكلفة الفهارس الدائمة عليها.ينبغي أن يستند القرار إلى متطلبات التطبيق الفعلية، لا إلى افتراض أن كل امتداد اختياري ضروري.كيفية تنفيذ الامتداد للمطورين
ينبغي للمطورين البدء بتنفيذ ERC-721 قابل للتعداد، خضع للمراجعة وتستمر صيانته.وعليهم التأكد من أن
ينبغي لاختبارات الثوابت التحقق من أن
كما ينبغي أن تتحقق من أن عدد التوكنات القابلة للتعداد لكل مالك يساوي نتيجة
كيفية تحقق المستخدمين من دعم التعداد
تتمثل الخطوة الأولى في التحقق من عنوان عقد NFT وشبكة البلوكشين.والخطوة الثانية هي استدعاء
والخطوة الرابعة هي مقارنة
والخطوة الخامسة هي مقارنة نتيجة
أخطاء شائعة في امتداد Enumerable
من الأخطاء الشائعة افتراض أن كل عقد ERC-721 يدعم التعداد.ومنها أيضاً التعامل مع فهرس التعداد على أنه معرّف توكن دائم.والخطأ الثالث هو افتراض ظهور معرّفات التوكنات بترتيب رقمي أو وفق ترتيب سكها.والخطأ الرابع هو اعتبار
والخطأ السابع هو افتراض أن دالة
الأسئلة الشائعة
ما المقصود بامتداد Enumerable في الكريبتو؟
يشير عادةً إلى امتداد ERC-721 الاختياري الذي يتيح للتطبيقات عرض جميع معرّفات توكنات NFT الحالية ومعرّفات التوكنات التي يملكها عنوان محدد.هل امتداد Enumerable مطلوب في ERC-721؟
لا، يمكن لعقد NFT أن يتوافق مع ERC-721 الأساسي من دون دعم التعداد.ما معرّف واجهة امتداد Enumerable؟
معرّف واجهة ERC-165 هو
ما الدوال التي يضيفها الامتداد؟
يضيف
ما القيمة التي تعيدها totalSupply؟
تعيد عدد توكنات NFT الصالحة حالياً التي يتتبعها العقد.هل تعرض totalSupply الحد الأقصى الممكن للمعروض؟
لا، فهي تعرض المعروض الحالي ولا تثبت استحالة السك مستقبلاً.ما القيمة التي تعيدها tokenByIndex؟
تعيد معرّف التوكن المخزن عند فهرس تعداد عام محدد.ما القيمة التي تعيدها tokenOfOwnerByIndex؟
تعيد معرّف توكن واحداً يملكه عنوان محدد عند فهرس محدد للمالك.هل تبدأ فهارس التعداد من صفر؟
نعم، تبدأ الفهارس الصالحة من صفر وتنتهي قبل الموضع الذي يساوي المعروض أو الرصيد ذي الصلة بواحد.هل فهرس التعداد هو نفسه معرّف التوكن؟
لا، فالفهرس موضع مؤقت في القائمة، بينما يحدد معرّف التوكن توكن NFT ضمن العقد.هل تعاد معرّفات التوكنات بترتيب رقمي؟
لا، لا يفرض المعيار ترتيباً معيناً للتعداد.هل يمكن أن يتغير ترتيب التعداد؟
نعم، قد تغير التحويلات وعمليات الحرق مواضع الفهارس، خاصةً في التطبيقات التي تستخدم الإزالة بطريقة Swap-and-Pop.هل يؤدي حرق NFT إلى خفض totalSupply؟
نعم، يزيل العقد الذي ينفذ التعداد على نحو صحيح توكن NFT المحروق ويخفض إجمالي المعروض الحالي.هل يغير تحويل NFT قيمة totalSupply؟
لا، يغير التحويل العادي تعداد المالك، لكنه لا يغير عدد توكنات NFT الموجودة.لماذا يُعد الامتداد مكلفاً؟
لأنه يتطلب عمليات كتابة إضافية إلى التخزين لصيانة فهارس التوكنات العامة والخاصة بالمالكين عند السك والتحويل والحرق.هل استدعاءات التعداد مجانية؟
لا تتطلب قراءات RPC خارج السلسلة دفع غاز على السلسلة، لكن استدعاءات العقود الذكية أثناء المعاملة تستهلك الغاز.هل يمكن للعقد المرور على كل توكنات NFT القابلة للتعداد؟
يمكنه محاولة ذلك، لكن الحلقة غير المحدودة على السلسلة قد تتجاوز في نهاية المطاف حد غاز الكتلة.هل يوفر الامتداد تقسيم النتائج إلى صفحات؟
لا، تنشئ التطبيقات الصفحات من خلال الاستعلام عن نطاقات مختارة من الفهارس.هل يسرد الامتداد كل حاملي توكنات NFT؟
لا، فهو يسرد معرّفات التوكنات عالمياً ولدى مالك معروف، لكنه لا يعيد قائمة فريدة بكل عناوين المالكين.هل يمكن لفهرسة الأحداث أن تحل محل التعداد؟
نعم، يستطيع فهرس خارج السلسلة إعادة تكوين المعروض والملكية من أحداث Transfer في ERC-721.هل يشمل التعداد البيانات الوصفية لتوكنات NFT؟
لا، توفر البيانات الوصفية عبر امتداد ERC-721 اختياري منفصل.هل يثبت التعداد أصالة NFT؟
لا، إذ يمكن لأي شخص نشر عقد يدعم التعداد، لذا يجب على المستخدمين التحقق من الشبكة وعنوان العقد والجهة المصدرة والصلاحيات.هل يمكن إضافة التعداد بعد النشر؟
قد يتمكن العقد القابل للترقية من إضافته، لكن يجب ترحيل التوكنات الموجودة إلى هياكل الفهرسة الجديدة بأمان.هل يتوافق ERC721Enumerable مع كل امتدادات ERC-721؟
لا، فقد يتعارض السك الدفعي المضغوط وتطبيقات الأرصدة المخصصة مع تخزين التعداد القياسي.متى يكون امتداد Enumerable مفيداً أكثر؟
يكون مفيداً أكثر عندما تحتاج العقود أو التطبيقات إلى وصول موحد على السلسلة إلى قائمة التوكنات الحالية أو معرّفات توكنات مالك ما.الخاتمة
امتداد Enumerable ميزة اختيارية في ERC-721 تتيح اكتشاف معرّفات توكنات NFT عبر استعلامات موحدة على السلسلة.معرّف واجهته هو
ويضيف الامتداد
قد يعجبك أيضاً
WhatsMiner M30S++
نطاقات Web3
مشاريع Web3
رائج
العملات المشفرة الرائجة حاليًا والتي تحظى باهتمام كبير في السوق
الأعلى حجماً
العملات المشفرة ذات أعلى حجم تداول
مضاف حديثا
العملات المشفرة المدرجة مؤخرًا والمتاحة للتداول

