شراء العملات المشفرة
الأسواق
العقود الفورية
العقود الآجلةBTC
مدخرات
مركز الأحداث
مركز المكافآت
المزيد
مهرجان صفر رسوم
ERC-777: ما ERC-777؟ERC-777 معيار توكنات Ethereum للأصول المشفرة القابلة للاستبدال، ويضيف خطافات للتحويل، وصلاحيات للمشغّلين، وبيانات للمعاملات، وعمليات تحقق أكثر أمانًا من العقود المستقبِلة إلى نموذج التوكن اERC-777: ما ERC-777؟ERC-777 معيار توكنات Ethereum للأصول المشفرة القابلة للاستبدال، ويضيف خطافات للتحويل، وصلاحيات للمشغّلين، وبيانات للمعاملات، وعمليات تحقق أكثر أمانًا من العقود المستقبِلة إلى نموذج التوكن ا

ERC-777

2026/10/13 15:31
#Advanced
Humanity
H$0.05644-1.65%
PX
PX$0.0112+0.90%
Ethereum
ETH$2,394.36-0.46%
Data Network
DATA$0.1421-2.47%
Sentient
SENT$0.02217-1.55%

ما ERC-777؟

ERC-777 معيار توكنات Ethereum للأصول المشفرة القابلة للاستبدال، ويضيف خطافات للتحويل، وصلاحيات للمشغّلين، وبيانات للمعاملات، وعمليات تحقق أكثر أمانًا من العقود المستقبِلة إلى نموذج التوكن الأساسي.

ومثل ERC-20، يمثّل وحدات قابلة للاستبدال، بحيث تكون قيمة وحدة التوكن وخصائصها مماثلة لقيمة وخصائص أي وحدة أخرى من التوكن نفسه.

تحدد مواصفات ERC-777 الرسمية معيارًا نهائيًا ضمن طلبات Ethereum للتعليقات، أُنشئ لتحسين تفاعل التوكنات القابلة للاستبدال مع المحافظ والعقود الذكية.

تشمل ميزاته الرئيسية الدالة

send
، وخطافات المرسل والمستلم، والمشغّلين المصرح لهم، ودوال الحرق المدمجة، والبيانات الاختيارية المرفقة بحركات التوكنات.

صُمم ERC-777 ليكون متوافقًا مع ERC-20 من الإصدارات السابقة، بحيث يستطيع عقد توكن واحد دعم الواجهتين.

لكن اعتماد ERC-777 ظل محدودًا مقارنةً بـ ERC-20، لأن سلوك الاستدعاءات الراجعة واعتماده على ERC-1820 يجعلان عمليات التكامل أكثر تعقيدًا، وقد ينطويان على مخاطر خطيرة لإعادة الدخول.

هل ما زال ERC-777 معيارًا نشطًا؟

ما زال ERC-777 مدرجًا كمعيار نهائي في مستودع مقترحات تحسين Ethereum الرسمي.

تعني الحالة النهائية أن المواصفات أكملت عملية توحيد EIP، لكنها لا تضمن انتشار اعتمادها، أو استمرار دعم المكتبات لها، أو ملاءمتها لكل توكن جديد.

أوقفت مكتبة رئيسية للعقود الذكية إتاحة تنفيذ ERC-777 في الإصدار 4.9، وأزالت التنفيذ في الإصدار 5.0.

يسجل سجل تغييرات OpenZeppelin Contracts الحالي انتهاء دعم التنفيذ، فيما تظل واجهات المعيار المرتبطة به متاحة.

لم يُلغِ قرار المكتبة معيار ERC-777 ولم يغيّر حالته النهائية.

لكنه يعني أن على المطورين ألا يتوقعوا وجود تنفيذ مُصان لتوكن ERC-777 في الإصدارات الحالية من تلك المكتبة.

يمكن أن تواصل عقود ERC-777 القائمة العمل وفقًا للتعليمات البرمجية المنشورة فيها، لكن ينبغي لعمليات التكامل الجديدة تقييم سلوك الاستدعاءات الراجعة والاعتماديات والتدقيقات ودعم المنظومة بعناية.

لماذا أُنشئ ERC-777؟

أُنشئ ERC-777 لمعالجة عدد من قيود سهولة الاستخدام والسلامة المرتبطة بتحويلات ERC-20 الأساسية.

لا يتطلب تحويل ERC-20 إلى عقد أن يقرّ العقد المستلم باستلام التوكنات أو يعالجها.

قد يؤدي ذلك إلى احتجاز التوكنات عندما لا تتضمن وظيفة العقد وسيلة لاستعادتها أو تسجيلها محاسبيًا.

تستخدم تطبيقات ERC-20 أيضًا عادةً سير عمل من خطوتين، يوافق فيه المستخدم أولًا على المنفق، ثم يستدعي المنفق

transferFrom
.

قدم ERC-777 الدالة

send
لتمكين تحويل التوكنات مع إرفاق بيانات وإخطار مستلم متوافق ضمن المعاملة نفسها.

كما قدم المشغّلين بوصفهم نموذج تفويض مسمى للحسابات أو العقود التي تنقل التوكنات نيابةً عن حامليها.

استهدف المعيار جعل التوكنات القابلة للاستبدال أقرب في سلوكها إلى تحويلات ETH الأصلية، مع منح المرسلين والمستلمين تحكمًا قابلًا للبرمجة في حركة التوكنات.

كيف يعمل ERC-777

يخزّن عقد ERC-777 أرصدة التوكنات وإجمالي المعروض، ويتيح دوال معيارية للإرسال والحرق وتفويض التحكم بالتوكنات.

عند إرسال التوكنات، يتحقق العقد مما إذا كان المرسل قد سجّل خطافًا للمرسل عبر ERC-1820.

إذا كان خطاف المرسل موجودًا، يستدعيه التوكن قبل تغيير الأرصدة.

بعد ذلك، يخفض التوكن رصيد المرسل ويزيد رصيد المستلم.

وبعد تحديث الأرصدة، يتحقق من تسجيل المستلم لخطاف خاص به، ويستدعيه عند اللزوم.

يمكن للخطاف قبول الحركة أو تنفيذ منطق إضافي أو إلغاء المعاملة بالكامل.

وبما أن العملية ذرية، فإن الإلغاء في خطاف مطلوب يؤدي عادةً إلى إلغاء حركة التوكن وكل تغييرات الحالة المرتبطة بها في تلك المعاملة.

الدوال الأساسية في ERC-777

تتضمن واجهة ERC-777 دوالًا للبيانات الوصفية والأرصدة والحد الأدنى لوحدة التوكن والمشغّلين والتحويلات والحرق.

توفر الدوال

name
و
symbol
و
totalSupply
و
balanceOf
معلومات مألوفة من توكنات ERC-20.

تعرض الدالة

granularity
أصغر كمية غير قابلة للتجزئة يمكن سكّها أو إرسالها أو حرقها.

تعرض الدالة

defaultOperators
المشغّلين المصرح لهم افتراضيًا نيابةً عن جميع الحاملين، مع مراعاة حق كل حامل في إلغاء تفويضهم.

تتحقق الدالة

isOperatorFor
مما إذا كان عنوان ما يستطيع التصرف كمشغّل لحامل معين.

تتيح الدالتان

authorizeOperator
و
revokeOperator
للحامل إدارة صلاحيات المشغّل.

تنقل الدالتان

send
و
operatorSend
التوكنات، بينما تخفض الدالتان
burn
و
operatorBurn
المعروض بصورة دائمة.

دالة send

تتيح الدالة

send
للحامل تحويل التوكنات مباشرةً إلى عنوان آخر، وإرفاق حقل من نوع bytes يسمى
data
.

يمكن أن تصف البيانات المرفقة دفعة أو إجراءً في تطبيق أو رقمًا مرجعيًا أو معلومات أخرى يفهمها النظام المستلم.

تُفعّل الدالة خطافات المرسل والمستلم المسجلة وفق قواعد ERC-777.

عندما يكون المستلم عقدًا، يجب أن تفشل عملية إرسال ERC-777 الأصلية إذا لم يكن العقد قد سجّل تطبيقًا لاستقبال ERC-777 عبر ERC-1820.

يهدف هذا التحقق من المستلم إلى تقليل التحويلات العرضية إلى عقود لا تستطيع التعامل مع التوكنات.

لكنه لا يثبت أن المستلم المسجل نزيه أو آمن أو سليم من الناحية الاقتصادية.

دالة operatorSend

تتيح الدالة

operatorSend
للمشغّل المصرح له نقل التوكنات من حامل إلى مستلم.

يجب أن يكون المشغّل قد حصل مسبقًا على تفويض من ذلك الحامل وفق قواعد المشغّلين في التوكن.

يمكن إرفاق كل من

data
التي يقدمها الحامل و
operatorData
التي يقدمها المشغّل بالحركة.

يتضمن حدث

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

يجب إلغاء أي استدعاء يصدر عن مشغّل غير مصرح له.

ينبغي التعامل مع صلاحية المشغّل بحساسية، لأنها قد تتيح لعنوان آخر نقل توكنات الحامل أو حرقها.

ما مشغّل ERC-777؟

المشغّل عنوان مُصرح له بإرسال توكنات ERC-777 أو حرقها نيابةً عن حاملها.

يُعد حامل التوكن مشغّلًا لرصيده الخاص دائمًا.

يمكن للحامل تفويض حساب أو عقد ذكي آخر، ثم إلغاء ذلك التفويض لاحقًا.

يمكن للمشغّلين دعم المدفوعات المؤتمتة، وإدارة الحسابات عبر العقود، والأنشطة المجدولة، وأنظمة الاسترداد، وغيرها من تدفقات العمل المفوضة للتوكنات.

وعلى خلاف السماحية الرقمية في ERC-20، لا يقتصر تفويض المشغّل الاعتيادي على كمية محددة من التوكنات.

قد تحسن هذه الصلاحية الأوسع سهولة الاستخدام، لكنها تزيد احتمال الخسارة إذا كان المشغّل خبيثًا أو تعرض للاختراق.

ينبغي للمحفظة توضيح أن تفويض مشغّل قد يمنحه تحكمًا مستمرًا في رصيد الحامل.

المشغّلون الافتراضيون

يمكن لتوكن ERC-777 تحديد مشغّلين افتراضيين يُصرح لهم مبدئيًا بالتصرف نيابةً عن كل حامل.

يجب تحديد قائمة المشغّلين الافتراضيين عند إنشاء عقد التوكن، ولا يمكن توسيعها أو تقليصها لاحقًا بموجب المعيار.

يجب أن يتمكن كل حامل من إلغاء تفويض مشغّل افتراضي عن توكناته الخاصة.

ويجب أن يتمكن الحامل أيضًا من إعادة تفويض مشغّل افتراضي سبق أن ألغى تفويضه.

يمكن للمشغّلين الافتراضيين دعم خدمات على مستوى النظام دون مطالبة كل حامل بإجراء معاملة تفويض أولية.

لكنهم يشكلون أيضًا اعتبارًا مهمًا للثقة، لأن المشغّل الافتراضي يبدأ بصلاحيات واسعة على مستوى حاملي التوكن.

ينبغي للمستخدمين مراجعة قائمة المشغّلين الافتراضيين وفهم الغرض من كل منهم قبل الاحتفاظ بكمية كبيرة من توكن ERC-777.

خطافات المرسل

يُسمى خطاف المرسل في ERC-777

tokensToSend
.

يمكن للحامل تسجيل عقد يطبق هذا الخطاف عبر سجل ERC-1820.

يجب على عقد التوكن استدعاء الخطاف قبل خفض رصيد الحامل أثناء إرسال ERC-777 أو حرقه.

يتلقى الخطاف بيانات المشغّل والمرسل والمستلم والكمية وبيانات الحامل وبيانات المشغّل.

يمكنه فحص الحركة المقترحة وإلغاؤها إذا رفضتها القواعد المبرمجة لدى الحامل.

قد تستخدم المحفظة الذكية خطاف المرسل لتطبيق سياسات الإنفاق أو الإشعارات أو منطق تفويض إضافي.

يجب على عقد الخطاف التحقق من أن الاستدعاءات صادرة عن عقد التوكن المتوقع، لأن الخطاف المسجل نفسه قد يتلقى استدعاءات تتعلق بتوكنات ERC-777 مختلفة.

خطافات المستلم

يُسمى خطاف المستلم في ERC-777

tokensReceived
.

يمكن للعنوان المستلم تسجيل عقد يطبق هذا الخطاف عبر ERC-1820.

يستدعي التوكن الخطاف بعد زيادة رصيد المستلم أثناء الإرسال أو السك.

يمكن للخطاف تحديث المحاسبة الداخلية أو تشغيل إجراء آخر في عقد أو تسجيل بيانات الدفع أو رفض الاستلام بإلغاء المعاملة.

يتيح هذا التصميم تنفيذ تحويل التوكن واستجابة المستلم ضمن معاملة ذرية واحدة.

لكنه يعني أيضًا أن استلام توكنات ERC-777 قد يشغّل تعليمات برمجية خارجية قبل اكتمال استدعاء التوكن الأصلي.

يجب على كل بروتوكول يستقبل توكنات ERC-777 مراعاة سلوك الاستدعاءات الراجعة هذا في كل دالة ذات صلة تغيّر الحالة.

ما ERC-1820؟

يعتمد ERC-777 على ERC-1820 لاكتشاف خطافات المرسل والمستلم والواجهات المدعومة.

تحدد مواصفات ERC-1820 سجلًا عامًا يمكن فيه للعنوان الإعلان عن الواجهات التي يدعمها والعقد الذي يطبقها.

يمكن للسجل تمثيل واجهات الحسابات العادية والعقود الذكية على حد سواء.

يمكن للحساب تسجيل نفسه بوصفه الجهة المنفذة أو تعيين عقد منفصل للتعامل مع واجهة نيابةً عنه.

قبل استدعاء خطاف ERC-777، يستعلم التوكن من السجل عن تطبيق واجهة المرسل أو المستلم المعني.

يضيف الاعتماد على السجل استعلامًا إلى عقد خارجي ضمن عمليات ERC-777.

لكي يعمل التنفيذ المعياري على نحو صحيح، يجب أن تتضمن الشبكة المدعومة نشر سجل ERC-1820 المتوقع وسلوك التكامل المطلوب.

أحداث ERC-777

يحدد ERC-777 أحداث

Sent
و
Minted
و
Burned
و
AuthorizedOperator
و
RevokedOperator
.

يسجل حدث

Sent
المشغّل والمرسل والمستلم والكمية وبيانات الحامل وبيانات المشغّل.

يسجل حدث

Minted
إنشاء توكنات جديدة والعنوان المستلم.

يسجل حدث

Burned
إتلاف التوكنات والحامل المتأثر.

تتيح أحداث المشغّلين للمحافظ وخدمات المراقبة تتبع التغييرات في الصلاحيات المفوضة.

قد يصدر التوكن الذي يدعم ERC-20 أيضًا أحداث

Transfer
الخاصة بـ ERC-20، إضافةً إلى أحداث ERC-777 التي يتطلبها المعيار.

ينبغي للتطبيقات تجنب احتساب حركة اقتصادية واحدة مرتين عندما يصف كلا نوعي الأحداث التحويل نفسه.

دقة الوحدة وطريقة عرض الكسور العشرية

دقة الوحدة هي أصغر كمية داخلية من التوكن يسمح عقد ERC-777 بسكّها أو إرسالها أو حرقها.

تُحدد القيمة عند إنشاء العقد ولا يمكن تغييرها بموجب المعيار.

يجب أن يكون كل رصيد ومبلغ حركة من مضاعفات دقة التوكن.

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

يحدد ERC-777 وحدة العرض بـ18 منزلة عشرية نسبةً إلى الوحدة الداخلية.

إذا أتاح توكن ERC-777 أيضًا دالة ERC-20 الاختيارية

decimals
، فيلزم أن تعيد القيمة 18 وفق المواصفات.

ينبغي للتطبيقات استخدام الحسابات الصحيحة العدد وتنسيق القيم عند عرضها، بدلًا من حساب أرصدة التوكنات باستخدام أعداد الفاصلة العائمة.

التوافق بين ERC-777 وERC-20

صُمم ERC-777 بحيث يستطيع التوكن تطبيق دوال ERC-20 إلى جانب واجهة ERC-777.

يحدد معيار ERC-20 دوالًا مألوفة مثل

transfer
و
approve
و
allowance
و
transferFrom
.

يمكن للتوكن المتوافق مع المعيارين العمل مع المحافظ والتطبيقات الأقدم التي لا تدعم سوى ERC-20.

وقد تنطبق خطافات ERC-777 على تحويلات ERC-20 المتوافقة أيضًا إذا سجّل المرسل أو المستلم المعني خطافًا.

لكن حماية مستلم العقد تختلف بين الواجهتين.

يجب إلغاء عملية

send
الأصلية في ERC-777 إذا أُرسلت إلى عقد مستلم غير مسجل، بينما قد يستمر التحويل المتوافق مع ERC-20 ويترك التوكنات لدى ذلك العقد.

يجب على الجهات التي تدمج التوكن تحديد الدالة المستخدمة، لا افتراض أن كل حركة للتوكن نفسه لها سلوك متطابق في الاستدعاءات الراجعة واستقبال التوكنات.

ERC-777 مقارنةً بسماحيات ERC-20

يمنح ERC-20 المنفق عادةً سماحية رقمية تحد من عدد التوكنات التي يمكنه تحويلها من المالك.

أما ERC-777 فيمنح المشغّل صلاحية التصرف في رصيد الحامل حتى إلغاء ذلك التفويض.

يوفر نموذج المشغّل دورًا مسمى أوضح، ويدعم إجراءات الإرسال والحرق المعيارية.

قد يتيح نموذج السماحية حدًا أضيق للكمية، مع أن المستخدمين يوافقون أحيانًا على كميات أكبر بكثير من حاجتهم.

قد يؤدي كلا النظامين إلى خسائر إذا فوض المستخدمون عقودًا خبيثة أو مخترقة.

ينبغي للمحافظ توضيح ما إذا كان الإجراء ينشئ سماحية ثابتة أو غير محدودة أو صلاحية مشغّل في ERC-777.

لا يؤدي إلغاء نوع واحد من الصلاحيات بالضرورة إلى إلغاء النوع الآخر إذا كان التوكن يدعم المعيارين.

مخاطر إعادة الدخول في ERC-777

ينشأ أهم خطر لعمليات دمج ERC-777 من خطافاته.

ينفذ خطاف المستلم تعليمات برمجية لعقد خارجي أثناء عملية تحويل التوكن.

يمكن لهذه التعليمات البرمجية الخارجية استدعاء البروتوكول المرسل قبل اكتمال الدالة الأصلية فيه.

يُسمى هذا السلوك إعادة الدخول.

قد يحسب بروتوكول معرض للخطر رصيدًا، ثم يرسل توكنات ERC-777، ويتلقى استدعاءً راجعًا يسمح بتكرار إجراء اعتمادًا على محاسبة داخلية قديمة.

قد تظهر المشكلة حتى عندما يستدعي البروتوكول دالة تشبه دوال ERC-20، لأن توكن ERC-777 المتوافق مع المعيارين قد يظل يستدعي الخطافات المسجلة.

ينبغي للمطورين عدم افتراض خلو تحويل التوكنات القابلة للاستبدال من الاستدعاءات الراجعة لمجرد أن اسم الدالة يشبه دالة تحويل اعتيادية في ERC-20.

تقليل مخاطر إعادة الدخول

ينبغي للبروتوكول تحديث محاسبته الأساسية قبل إجراء استدعاء خارجي للتوكن كلما سمح المنطق المقصود بهذا الترتيب.

ينبغي استخدام مانع مناسب لإعادة الدخول حول نقاط الدخول الحساسة.

يجب مراجعة الدوال المترابطة معًا، لأن منع إعادة الدخول إلى دالة واحدة قد يترك دالة أخرى معرضة للاستغلال.

ينبغي التحقق من عقد التوكن بدلًا من قبول أصول عشوائية ذات سلوك استدعاءات راجعة غير معروف.

ينبغي أن تشمل الاختبارات خطاف مرسل خبيثًا، وخطاف مستلم خبيثًا، وحركة توكنات متداخلة، واستدعاءً راجعًا ملغى، وإعادة دخول بين الدوال.

ينبغي للمطورين أيضًا مراجعة مسارات السك والحرق، لأن خطافات ERC-777 لا تقتصر على الإرسال الاعتيادي.

يمكن للتدقيق أن يقلل المخاطر، لكنه لا يضمن سلامة كل تفاعل مع الاستدعاءات الراجعة.

حماية المستلم وحدودها

استهدفت عمليات التحقق من مستلم ERC-777 تقليل احتمال احتجاز التوكنات نهائيًا في عقود لا تستطيع معالجتها.

يجب على العقد الذي يستقبل التوكنات عبر

send
تسجيل تطبيق لمستلم ERC-777، وإلا تُلغى العملية.

وهذا أقوى من تحويل ERC-20 الأساسي، الذي قد ينجح حتى عندما لا يحتوي العقد المستلم على منطق للتعامل مع التوكنات.

لكن التسجيل لا يثبت سوى وجود تطبيق مسجل للواجهة.

ولا يثبت أن المستلم يسجل الأرصدة على نحو صحيح، أو يسمح بالسحب، أو اجتاز تدقيقًا أمنيًا.

قد يقبل مستلم خبيث التوكنات عمدًا ثم ينفذ منطقًا ضارًا.

لذلك يجب على المستخدمين التحقق من العقد المستهدف والغرض من المعاملة.

مزايا ERC-777

يمكن لـ ERC-777 إخطار العقود عند استلامها توكنات قابلة للاستبدال.

يمكنه الجمع بين التحويل ومعالجة المستلم في معاملة واحدة.

يتيح للمرسلين والمستلمين رفض الحركات عبر خطافات قابلة للبرمجة.

يدعم البيانات المرفقة التي يمكن للتطبيقات استخدامها لتفسير دفعة أو إجراء.

يوفر نموذج المشغّلين فيه تحكمًا مفوضًا معياريًا وإمكانية واضحة لإلغاء التفويض.

تحد عمليات الإرسال الأصلية في ERC-777 من التحويلات العرضية إلى العقود التي لا تسجل دعم استقبال التوكنات.

قد يتيح التوافق مع الإصدارات السابقة لتوكن واحد العمل مع بنية ERC-20 التحتية، مع توفير سلوك أكثر تقدمًا للتطبيقات الداعمة لـ ERC-777.

قيود ERC-777

تجعل الخطافات حركة التوكنات أصعب على العقود الذكية من حيث التحليل الآمن.

يضيف استعلام ERC-1820 اعتمادًا خارجيًا وتعقيدًا إضافيًا للتكامل.

قد تكون صلاحية المشغّل أوسع مما يتوقعه المستخدمون.

تثير المشغّلات الافتراضية اعتبارات مهمة تتعلق بالثقة والصلاحيات.

يؤدي التوافق المزدوج مع ERC-20 إلى اختلاف السلوك حسب واجهة التحويل المستخدمة.

قد تحتسب التطبيقات التحويلات مرتين إذا عالجت أحداث ERC-777 وERC-20 على نحو غير صحيح.

تركز كثير من أدوات التطوير والتطبيقات الحالية أساسًا على ERC-20، ما يقلل الفائدة العملية من تطبيق ERC-777.

يزيد حذف تنفيذ ERC-777 المصان من مكتبة عقود مستخدمة على نطاق واسع من العمل اللازم لإنشاء عملية نشر جديدة وصيانتها بأمان.

لماذا كان اعتماد ERC-777 محدودًا؟

كان ERC-20 قد حظي بدعم واسع في المحافظ والتطبيقات وأدوات التحليلات وأنظمة العقود الذكية عند تقديم ERC-777.

وكان استبدال هذا التأثير الشبكي يتطلب فوائد كبيرة بما يكفي لتبرير منطق جديد للاستدعاءات الراجعة والسجل.

بُنيت بروتوكولات كثيرة على سلوك متوقع لتحويلات ERC-20 وسماحياته.

أدخلت خطافات ERC-777 استدعاءات خارجية غير متوقعة إلى عمليات افترضت بعض الجهات المدمجة أنها مجرد تحديثات بسيطة للأرصدة.

يشير قسم الدوافع في ERC-2612 إلى أن ERC-777 أضاف وظائف كبيرة قد تؤدي إلى سلوك غير متوقع في العقود الشائعة.

اتجه المطورون أكثر إلى معالجة مشكلات سهولة الاستخدام الفردية عبر إضافات أضيق لـ ERC-20 بدلًا من اعتماد دورة تحويل مختلفة بالكامل.

لذلك يظل ERC-777 مهمًا من الناحية التقنية، لكنه ليس الخيار الافتراضي للتوكنات القابلة للاستبدال في معظم مشاريع Ethereum الجديدة.

هل ينبغي للمطورين إنشاء توكن جديد وفق ERC-777؟

ينبغي للمطور أولًا تحديد ميزة ERC-777 الضرورية للتوكن المقترح.

إذا كان الهدف الأساسي هو الموافقات الموقعة، فقد توفر إضافة أضيق إلى ERC-20 هذه الميزة دون إدخال خطافات تحويل عامة.

إذا كانت استدعاءات المستلم الراجعة ضرورية، فعلى المطور دراسة ما إذا كان عقد تطبيق مخصص يوفر سلوكًا أكثر أمانًا ووضوحًا.

يتطلب تنفيذ ERC-777 جديد مراجعة دقيقة للمواصفات كاملةً، وتسجيل ERC-1820، والخطافات، والمشغّلين، والأحداث، والسك، والحرق، والتوافق مع ERC-20.

لا يُعد إعادة استخدام تنفيذ قديم غير مصان دون مراجعة تغييرات المترجم والافتراضات الأمنية المعروفة أمرًا آمنًا.

ينبغي إخضاع العقد لاختبارات وحدات مكثفة، واختبارات عشوائية، واختبارات الثوابت، واختبارات التكامل، ومراجعة أمنية مستقلة قبل أن يتحكم في أصول ذات قيمة.

ينبغي للمطورين أيضًا التأكد من دعم المحافظ وأنظمة حفظ الأصول والجسور والتطبيقات اللامركزية المقصودة لسلوك الاستدعاءات الراجعة في التوكن.

كيف يقيّم المستخدمون توكن ERC-777

تتمثل الخطوة الأولى في التحقق من عنوان عقد التوكن عبر مصدر موثوق.

والخطوة الثانية هي التأكد مما إذا كان العقد يدعم ERC-777 فقط أو يتيح أيضًا دوال ERC-20.

والخطوة الثالثة هي فحص المشغّلين الافتراضيين وتحديد الصلاحيات التي يمتلكونها.

والخطوة الرابعة هي مراجعة صلاحيات السك والحرق والإيقاف والتجميد والترقية والإدارة.

والخطوة الخامسة هي تحديد ما إذا كان العقد يستخدم وكيلًا يمكن تغيير منطقه بعد الشراء.

والخطوة السادسة هي التحقق من التدقيقات، والتحقق من التعليمات البرمجية المصدرية، وتغطية الاختبارات، وسجل الحوادث.

والخطوة السابعة هي مراجعة تفويضات المشغّلين وإلغاء الصلاحيات التي لم تعد مطلوبة.

والخطوة الثامنة هي التحقق من أن التطبيق المستلم يدعم ERC-777 وخطافاته صراحةً.

والخطوة التاسعة هي اختبار معاملة صغيرة قبل تحويل كمية كبيرة.

والخطوة العاشرة هي تذكر أن الامتثال لواجهة توكن لا يثبت قيمته المالية أو ملاءته أو سلامة الاستثمار فيه.

مثال على الدفع باستخدام ERC-777

لنفترض أن مستخدمًا يريد دفع رسوم اشتراك على السلسلة باستخدام توكن ERC-777.

يسجل عقد الاشتراك تطبيقًا لـ

ERC777TokensRecipient
عبر سجل ERC-1820.

يستدعي المستخدم

send
مع عنوان العقد ومبلغ الدفع ومرجع الاشتراك المشفر.

يتحقق التوكن من وجود خطاف للمرسل، ويستدعيه قبل تغيير الأرصدة إذا كان مسجلًا.

يخفض التوكن رصيد المستخدم ويزيد رصيد عقد الاشتراك.

ثم يستدعي خطاف

tokensReceived
في العقد مع تفاصيل الدفع.

يتحقق عقد الاشتراك من عنوان التوكن والدافع والمبلغ والمرجع المرفق قبل تمديد الاشتراك.

إذا رفض الخطاف الدفع، تُلغى المعاملة كاملةً وتعود أرصدة التوكنات إلى حالتها السابقة.

يوضح هذا سير العمل ميزة الدفع والإخطار الذرية التي كانت من دوافع ERC-777.

أخطاء شائعة في ERC-777

من الأخطاء الشائعة افتراض أن ERC-777 مجرد بديل أحدث لـ ERC-20.

ومنها أيضًا التعامل مع تحويل التوكنات على أنه عملية لا تتضمن استدعاءات راجعة.

والخطأ الثالث قبول استدعاءات

tokensReceived
دون التحقق من عقد التوكن الذي استدعاها.

والخطأ الرابع تفويض مشغّل دون إدراك أن الصلاحية قد تشمل رصيد الحامل كاملًا.

والخطأ الخامس تجاهل المشغّلين الافتراضيين المحددين عند إنشاء التوكن.

والخطأ السادس معالجة حدثي

Sent
و
Transfer
كحركتين اقتصاديتين منفصلتين.

والخطأ السابع إرسال التوكنات إلى عقد عبر واجهة ERC-20 مع افتراض أن حماية المستلم في ERC-777 ستفرض إلغاء العملية.

والخطأ الثامن نشر تنفيذ قديم دون اختبارات حديثة ومراجعة للاعتماديات.

والخطأ التاسع افتراض أن الحالة النهائية لـ EIP تعني استمرار دعم المكتبات أو اعتماد المنظومة للمعيار على نطاق واسع.

والخطأ العاشر اعتبار الامتثال للمعيار دليلًا على شرعية التوكن أو أمانه.

الأسئلة الشائعة

ماذا يعني ERC-777؟

ERC-777 معيار نهائي لتوكنات Ethereum القابلة للاستبدال، ويحدد الخطافات والمشغّلين وحقول البيانات وإرسال التوكنات وحرقها.

هل ERC-777 قابل للاستبدال أم غير قابل للاستبدال؟

ERC-777 معيار للتوكنات القابلة للاستبدال، حيث يمكن استبدال الوحدات التابعة للتوكن نفسه بعضها ببعض.

هل ما زال ERC-777 ساريًا؟

نعم، ما زال المقترح الرسمي في الحالة النهائية، رغم محدودية اعتماده وإزالة مكتبة عقود رئيسية لتنفيذه.

هل ERC-777 هو نفسه ERC-20؟

لا، يضيف ERC-777 الخطافات والمشغّلين والبيانات المرفقة والتحقق من المستلم، مع إمكانية دعم التوكن للمعيارين.

ما الميزة الرئيسية في ERC-777؟

أشهر ميزاته هي القدرة على إخطار عقود المرسل والمستلم المسجلة أثناء حركة التوكنات.

ما tokensReceived؟

tokensReceived
هو خطاف المستلم الذي يُستدعى بعد زيادة رصيد ERC-777 عبر الإرسال أو السك.

ما tokensToSend؟

tokensToSend
هو خطاف المرسل الذي يُستدعى قبل خفض رصيد ERC-777 عبر الإرسال أو الحرق.

ما مشغّل ERC-777؟

المشغّل عنوان مُصرح له بإرسال التوكنات أو حرقها نيابةً عن حاملها.

هل يستطيع مشغّل ERC-777 نقل جميع توكنات المستخدم؟

لا تقتصر صلاحية المشغّل الاعتيادية على سماحية رقمية، لذا قد يتمتع المشغّل المصرح له بتحكم واسع حتى يلغي الحامل تفويضه.

ما المشغّل الافتراضي؟

المشغّل الافتراضي عنوان يُصرح له نيابةً عن كل حامل عند إنشاء التوكن، مع وجوب تمكين كل حامل من إلغاء تفويضه بنفسه.

لماذا يستخدم ERC-777 معيار ERC-1820؟

يتيح ERC-1820 للتوكن اكتشاف العقود التي تطبق خطافات المرسل والمستلم وواجهات التوكن المدعومة.

هل يمكن إرسال توكنات ERC-777 إلى عقد ذكي؟

نعم، لكن يجب إلغاء عملية الإرسال الأصلية في ERC-777 إذا لم يسجل العقد المستلم خطاف المستلم المطلوب.

هل يمكن أن تعلق توكنات ERC-777 في عقد؟

تقلل عمليات التحقق من المستلم هذا الخطر في عمليات الإرسال الأصلية، لكن التحويلات المتوافقة مع ERC-20 ومنطق المستلم المعيب قد يؤديان إلى أرصدة يتعذر الوصول إليها.

هل يتضمن ERC-777 منازل عشرية؟

يستخدم المعيار وحدة عرض من 18 منزلة عشرية، ويجب أن تعيد دالة

decimals
الاختيارية المتوافقة مع ERC-20 القيمة 18.

ما دقة الوحدة في ERC-777؟

دقة الوحدة هي أصغر كمية داخلية يمكن سكّها أو إرسالها أو حرقها.

لماذا قد يؤدي ERC-777 إلى إعادة الدخول؟

تنفذ خطافاته تعليمات برمجية لعقود خارجية أثناء عمليات التوكن، ما يسمح لتطبيق المستلم أو المرسل باستدعاء دوال أخرى قبل اكتمال الاستدعاء الأصلي.

هل كل توكنات ERC-777 غير آمنة؟

لا، لكن يجب أن تتعامل كل عملية تكامل عن قصد مع الاستدعاءات الراجعة وصلاحيات المشغّلين واستعلامات ERC-1820 ومنطق العقد الخاص بالتوكن.

لماذا أزيل تنفيذ ERC-777 من OpenZeppelin Contracts؟

كان اعتماد التنفيذ محدودًا، كما صَعُب دعم سلوك الخطافات المعقد بأمان بوصفه مكوّنًا عامًا متعدد الاستخدامات.

هل يمكن لتوكن ERC-777 قائم أن يواصل العمل؟

نعم، تواصل العقود المنشورة العمل وفق تعليماتها البرمجية ما لم تغيرها آلية الترقية أو الإدارة الخاصة بها.

هل ينبغي استخدام ERC-777 لتوكن جديد؟

يعتمد القرار على ما إذا كانت الخطافات والمشغّلون يقدمون فوائد أساسية تبرر زيادة التعقيد الأمني وتعقيد التكامل والصيانة.

الخاتمة

ERC-777 معيار نهائي لتوكنات Ethereum القابلة للاستبدال، صُمم لتحسين تفاعلات التوكنات عبر الخطافات والمشغّلين وبيانات المعاملات والتحقق من العقود المستقبِلة.

يمكن لدالة

send
تحويل التوكنات وإخطار عقد مستلم متوافق ضمن معاملة ذرية واحدة.

تتيح الخطافات

tokensToSend
و
tokensReceived
تطبيق قواعد مبرمجة للمرسل والمستلم.

يوفر المشغّلون تحكمًا مفوضًا معياريًا، فيما تتيح المشغّلات الافتراضية وظائف على مستوى النظام مع خضوعها لإمكانية إلغاء الحامل لتفويضها.

يوفر ERC-1820 السجل المستخدم لاكتشاف هذه الخطافات والواجهات.

يمكن أن يظل ERC-777 متوافقًا مع ERC-20، لكن التحويلات عبر الواجهتين لا تتصرف دائمًا بالطريقة نفسها تجاه المستلم.

يمكن لميزات الاستدعاء الراجع نفسها التي تحسن قابلية التركيب أن تتيح إعادة الدخول وتجعل فهم عمليات التكامل صعبًا.

يجب على المطورين التحقق من الجهات المستدعية، وحماية كل الدوال المترابطة التي تغيّر الحالة، وفحص صلاحيات المشغّلين، واختبار الخطافات الخبيثة، وفهم دورة التحويل كاملةً.

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

يساعد فهم ERC-777 مستخدمي العملات المشفرة ومطوريها على إدراك فوائد استدعاءات التوكن الراجعة والمخاطر الأمنية التي تنشأ عندما تستطيع تحويلات التوكنات القابلة للاستبدال تنفيذ تعليمات برمجية خارجية.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?