ERC-721 هو معيار للرموز غير القابلة للاستبدال (NFTs) على شبكة إيثريوم. المعيار هو مجموعة قواعد منشورة. غير قابل للاستبدال يعني أن كل رمز يختلف عن غيره. يحدد ERC-721 واجهة، وهي قائمة الدوال والأحداث التي يوفرها العقد الذكي. العقد الذكي هو برنامج مخزَّن على بلوكتشين. وفي حالة ERC-721، الرمز هو وحدة تصدر على بلوكتشين قائم من خلال عقد ذكي.
نُشر ERC-721 كمقترح لتحسين إيثريوم (EIP)، وهو وثيقة تصميم موجهة لمجتمع إيثريوم. رقم هذا المقترح هو 721، لذا يُكتب ERC-721 أيضًا باسم EIP-721. ERC هي فئة المقترحات الخاصة بالمعايير على مستوى التطبيقات، أي المعايير التي تتبعها التطبيقات على إيثريوم، مثل معايير الرموز.
يُسمّي الكود الموجود في ERC-721 واجهته ERC721. رمز ERC-721 هو رمز يصدره عقد يتبع معيار ERC-721.
الدالة هي عملية مسمّاة يوفرها العقد ويمكن للمستخدم استدعاءها. الحدث هو إشعار يسجّله العقد على البلوكتشين عند حدوث تغيير ما، لكي يتمكن البرنامج من تتبع هذا التغيير. إصدار الحدث يعني تسجيله.
البلوكتشين هو السجل المشترك للمعاملات، محفوظًا بترتيب زمني. المعاملة هي طلب يرسله المستخدم إلى البلوكتشين، مثل طلب نقل رمز. العنوان هو مُعرِّف على البلوكتشين يخص مستخدمًا أو عقدًا ذكيًا.
ماذا يحدد معيار ERC-721؟
يحدد معيار ERC-721 واجهة: الدوال التي يجب أن يوفرها العقد، والأحداث التي يجب أن يصدرها. وبذلك يمكن للبرامج استدعاء العقود التي تتبع ERC-721 بالطريقة نفسها.
يتطلب ERC-721 أيضًا اكتشاف الواجهة من خلال ERC-165، وهو معيار يتيح للعقد الإفصاح عن الواجهات التي يدعمها.
يصف ERC-721 امتدادين اختياريين. يضيف امتداد البيانات الوصفية (metadata) دوالًا تعيد اسمًا ورمزًا مختصرًا لرموز العقد، وكذلك رابطًا لكل معرّف رمز، بينما يضيف امتداد التعداد (enumeration) دوالًا تسرد الرموز التي يتتبعها العقد.
ERC-721 هو معيار واحد من معايير NFT، وقد كُتب خصيصًا لإيثريوم. قد تعمل بلوكتشينات ومعايير أخرى بطريقة مختلفة عن ERC-721.
يميّز العقد الذي يتبع ERC-721 بين رموزه عبر معرّف الرمز (token ID)، وهو رقم يمنحه العقد لكل رمز. عنوان العقد الذي يتتبع الرموز، مقترنًا بمعرّف الرمز، يحدد رمزًا واحدًا بعينه، ويشترط ERC-721 أن يبقى معرّف الرمز ثابتًا طوال مدة وجود العقد.
ERC-721 مقابل ERC-20: كيف يختلف المعياران؟
يختلف ERC-721 عن ERC-20 فيما يتتبعه العقد، وفيما يحدده النقل، وفيما تشمله الموافقة. ERC-20 هو معيار للرموز القابلة للاستبدال، أي الرموز التي تتبادل وحداتها فيما بينها، بحيث تكون كل وحدة مماثلة للأخرى. أما ERC-721 فهو معيار للرموز غير القابلة للاستبدال، التي يميّزها العقد عبر معرّف الرمز، لذا فإن تبديل رمزين منها لا يُعد تبديلًا لمثيل بمثيل.
- يسجّل عقد ERC-20 عدد الوحدات التي يحتفظ بها كل عنوان، بينما يسجّل عقد ERC-721 العنوان الذي يتحكم في كل معرّف رمز.
- يحدد نقل ERC-20 كمية من الرموز، بينما يحدد نقل ERC-721 معرّف رمز بعينه.
- تشمل موافقة ERC-20 كمية يمكن لعنوان آخر نقلها، بينما تشمل موافقة ERC-721 إما معرّف رمز واحد، أو عند تسمية مشغّل (operator)، جميع الرموز التي يتحكم فيها عنوان ما ضمن العقد نفسه. المشغّل هو عنوان سمح له العنوان المتحكم في الرموز بنقلها جميعًا.
ما الدوال والأحداث التي يحددها ERC-721؟
يسرد هذا الجدول، بالاسم، الدوال والأحداث التي يحددها ERC-721، إلى جانب دالة اكتشاف الواجهة من ERC-165، ويوضح وظيفة كل منها.
ما الدالة التي تفحص العقد المستقبِل؟
تُجري الدالة safeTransferFrom فحصًا للمستلِم بعد نقل الرمز. وعندما يكون العنوان المستقبِل عقدًا ذكيًا، يستدعي عقد ERC-721 دالة فيه تُسمى onERC721Received، وهي دالة الاستلام. يوفّر العقد المستقبِل دالة الاستلام هذه، وتعيد الدالة قيمة محددة يعرّفها ERC-721 وتشير لعقد ERC-721 بأن العقد المستقبِل يقبل عملية النقل. وإذا أعادت الدالة أي قيمة أخرى، تُلغى المعاملة، وهو ما يسميه ERC-721 بالتراجع (revert).
لا تستدعي الدالة transferFrom دالة استلام. يترك ERC-721 التحقق من قدرة العنوان المستقبِل على استلام الرموز للمُستدعي، أي الجهة التي ترسل المعاملة التي تستدعي الدالة. قد يُفقد الرمز المرسَل إلى عقد لا يوفّر دالة الاستلام.
كيف تعمل الموافقات والمشغّلون؟
تتيح الموافقة لعنوان آخر نقل رمز ما. تحدد الدالة approve عنوانًا واحدًا لمعرّف رمز واحد، وتعيد getApproved هذا العنوان. ينص ERC-721 على أن العنوان المعتمَد يُعاد تعيينه إلى لا شيء عند نقل الرمز.
المشغّل هو عنوان سُمح له، من خلال setApprovalForAll، بنقل جميع الرموز التي يتحكم فيها عنوان آخر ضمن العقد نفسه. يشترط ERC-721 أن يسمح العقد بأكثر من مشغّل واحد لكل عنوان يتحكم في رموز، وتعيد isApprovedForAll ما إذا كان عنوان ما مشغّلًا لعنوان آخر.
بموجب ERC-721، يمكن أن يُطلب النقل من قبل العنوان المتحكم في الرمز، أو من قبل مشغّل تابع لذلك العنوان، أو من قبل العنوان المعتمَد لذلك المعرّف.
ماذا يضيف امتداد البيانات الوصفية الاختياري؟
يضيف امتداد البيانات الوصفية الاختياري في ERC-721 ثلاث دوال إلى العقد: name وsymbol وtokenURI. البيانات الوصفية هي بيانات تصف الرموز، وتعيد هذه الدوال الثلاث تلك البيانات.
تعيد الدالة name اسمًا للرموز التي يتتبعها العقد، وتعيد symbol اسمًا مختصرًا لها.
تعيد الدالة tokenURI رابطًا (URI) لمعرّف رمز واحد. الـ URI، وهو اختصار لمعرّف الموارد الموحّد، هو رابط. العقد الذي لا يتضمن هذا الامتداد لا يملك رابطًا.
ينص ERC-721 على أن الرابط الذي تعيده tokenURI قد يشير إلى ملف JSON، وهو صيغة نصية للبيانات المنظمة. يمكن أن يحتوي الملف على حقول الاسم والوصف والصورة.
يسمح ERC-721 للعقد بتغيير الرابط الذي يعيده لمعرّف رمز معين، بحيث يمكن أن يقود المعرّف نفسه لاحقًا إلى ملف مختلف. لا يحدد ERC-721 مكان تخزين الملف الذي يشير إليه الرابط.
ماذا يترك ERC-721 لكل عقد على حدة؟
حتى أكتوبر 2026، لا يحدد ERC-721 محتوى الرمز، ولا أي حقوق مرتبطة به، ولا مكان تخزين ملفاته، ولا كيفية إنشاء الرموز أو إتلافها، ولا وضعها القانوني. يشرح مدخل مسرد المصطلحات الرمز غير القابل للاستبدال (NFT) ما يغفله سجل الرمز، أي المعلومات التي يحتفظ بها العقد عن كل رمز.
يمكن أن تختلف العقود التي تتبع ERC-721 في سلوكها رغم ذلك. يسرد ERC-721 الحالات التي يجب أن يفشل فيها النقل، ويسمح للعقد بإلغاء عملية نقل في حالات أخرى، مثل أثناء تعليق عمليات النقل. لذا يمكن للعقد أن يرفض عملية نقل لأسباب لا يسردها ERC-721.
5 يناير 2026










