لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.
الإجابة المباشرة
ERC-20 هو واجهة قياسية لعقود الرموز القابلة للاستبدال على Ethereum. فهو يتيح للمحافظ والبورصات والتطبيقات اللامركزية استخدام الاستدعاءات نفسها لقراءة إجمالي المعروض أو الرصيد، وتحويل الرموز، وتفويض عنوان آخر بإنفاق مبلغ محدود. وتعني قابلية الاستبدال أن الوحدات المتساوية من الرمز نفسه يُفترض أن تكون قابلة للتبادل فيما بينها.
تتضمن الواجهة الأساسية ما يلي:
totalSupplyوbalanceOfلقراءة إجمالي المعروض وأرصدة الحسابات؛transferلإرسال الرموز التي يملكها المستدعي؛approveوallowanceلتعيين حد المنفق وقراءته؛transferFromللإنفاق من رصيد مالك ضمن ذلك الحد؛ و- حدثا
TransferوApprovalلتسجيل التحويلات والموافقات.
يحدد المعيار قابلية التشغيل البيني، لا جودة الأصل. فالامتثال لـ ERC-20 لا يضمن ثبات المعروض أو عدالة القيمة السوقية أو إمكانية الاسترداد أو السيولة أو الإدارة الآمنة، ولا حتى تطابق السلوك بين جميع التطبيقات.
آلية العمل
رصيد ERC-20 هو قيد في حالة عقد الرمز يرتبط بعنوان. تعرض المحفظة هذه الحالة؛ فهي لا تحتفظ بملف رمز منفصل. عندما ينجح transfer(to, amount)، يخفض العقد رصيد المستدعي، ويرفع رصيد المستلم، ويصدر حدث Transfer. ويدفع المستخدم عادة رسوم غاز الشبكة بعملة ETH. إذا تراجع التنفيذ، تُلغى تغييرات حالة الرمز، لكن الغاز المستهلك لا يُسترد بالكامل.
يعتمد الإنفاق المفوض على المخصص. يؤدي استدعاء approve(spender, amount) إلى تحديد المبلغ الذي يجوز لذلك المنفق استخدامه من رصيد المستدعي. ويمكن للمنفق بعد ذلك استدعاء transferFrom(owner, to, amount)، بينما يعرض allowance(owner, spender) الحد المتبقي. تخص الموافقة زوجًا واحدًا من المالك والمنفق في عقد رمز واحد وعلى شبكة واحدة؛ وليست إذنًا على كل أصل في المحفظة.
يؤدي استدعاء approve مرة أخرى إلى استبدال المخصص السابق. تحذر مواصفة EIP-20 واجهات المستخدم من ضرورة تعيين المخصص القائم إلى 0 قبل تعيين قيمة أخرى غير صفرية، لأن ترتيب المعاملات قد يتيح للمنفق استخدام الحدين القديم والجديد. ويمكن لتعيين المخصص إلى 0 إيقاف استدعاءات transferFrom المستقبلية لذلك المزيج من المالك والمنفق والرمز، لكنه لا يستطيع استرداد الرموز التي حُولت بالفعل.
تُعد name وsymbol وdecimals دوال بيانات وصفية اختيارية في EIP-20. يؤثر decimals في وحدات العرض، لا في المحاسبة الصحيحة للعقد. ولا يحدد المعيار كذلك كيفية سك الرموز أو حرقها، أو ما إذا كان يمكن إيقاف التحويلات مؤقتًا أو فرض رسوم عليها، أو تجميد العناوين، أو ترقية منطق الوكيل. يجب التحقق من هذه السلوكيات في الكود المنشور والتنفيذ الحالي والصلاحيات الإدارية.
مثال
لنفترض أن محفظة تحتوي على 1,000 وحدة من رمز ERC-20، ويريد المستخدم من موجّه بورصة لامركزية مبادلة 100 وحدة. يرسل المستخدم أولًا approve(router, 100). إذا نجح ذلك، يستطيع الموجّه استدعاء transferFrom(user, pool, 100)؛ وبعد إنفاق المبلغ كاملًا، يكون المخصص العادي المتبقي 0. معاملة الموافقة ومعاملة المبادلة إجراءان منفصلان على السلسلة، لذلك قد يتطلب كل منهما غازًا وقد يفشل أي منهما بصورة مستقلة.
قد تؤدي الموافقة على أكبر قيمة ممكنة إلى تجنب الموافقات المتكررة، لكنها تترك مبلغًا أكبر معرضًا للخطر مدة أطول إذا تعرض الموجّه أو جهة ترقيته أو الواجهة المستخدمة للحصول على الموافقة للاختراق. يقلص المخصص المحدود هذا التعرض، لكنه لا يزيل مخاطر العقد الذكي أو سعر الرمز أو السيولة أو المعاملة.
المخاطر
- العقد أو الشبكة الخطأ: يمكن نسخ الأسماء والرموز والأيقونات؛ تحقّق من عنوان العقد على الشبكة المقصودة.
- مخصص مفرط: قد يستخدم منفق خبيث أو مخترق مخصصًا غير مستخدم حتى الحد المعتمد.
- سلوك غير قياسي: بعض الرموز واسعة الاستخدام لا تعيد القيم كما هو متوقع تمامًا، بينما تفرض رموز أخرى رسوم تحويل أو تعيد ضبط الأرصدة أو تحظر عناوين أو توقف التحويلات مؤقتًا.
- تحكم إداري: قد يغير السك أو التجميد أو الترقيات أو الإجراءات ذات الامتيازات الأخرى مخاطر الرمز بعد أن يقتنيه المستخدم.
- تحويل غير قابل للاسترداد: قد يصبح الاسترداد مستحيلًا عند إرسال الرموز إلى عنوان خاطئ أو إلى عقد لا يستطيع التعامل معها.
يقلل توحيد ERC-20 صعوبة التكامل؛ لكنه لا يزيل مخاطر العقد أو المُصدر أو الحفظ أو السوق أو التشغيل. قبل التوقيع، تحقّق من الشبكة وعقد الرمز وعنوان المنفق ومبلغ الموافقة واستدعاء المعاملة.
مفاهيم خاطئة شائعة
الخرافة 1: علامة ERC-20 تثبت أن الرمز مشروع
يمكن لأي شخص نشر عقد باسم أو رمز مألوف. لا تصف العلامة سوى ادعاء يتعلق بالواجهة. تحقّق من عنوان العقد، ثم قيّم الكود والصلاحيات والمُصدر والسيولة والسوق كلًا على حدة.
الخرافة 2: الموافقة تحوّل الرموز المعتمدة فورًا
يغير approve عادةً المخصص؛ ولا ينقل الرموز بنفسه إلى المنفق. ينقلها استدعاء transferFrom اللاحق. ومع ذلك، تمثل الموافقة القائمة إذنًا فعليًا قد يظل قابلًا للاستخدام حتى يُنفق أو يُستبدل أو يُعيّن إلى 0.
الخرافة 3: تتصرف جميع رموز ERC-20 بالطريقة نفسها
يحدد المعيار حدًا أدنى لواجهة مشتركة. ولا يفرض سياسة معينة للمعروض، ولا يحظر الرسوم أو الإيقاف المؤقت أو القوائم السوداء أو إعادة ضبط الأرصدة أو قابلية الترقية. يجب أن تراعي عمليات التكامل التنفيذ الفعلي بدلًا من الاعتماد على علامة ERC-20 وحدها.
مواضيع ذات صلة
المصادر
- ERC-20: معيار الرمز - Ethereum Improvement Proposals (تاريخ الاطلاع: 2026-08-20)
- معيار الرمز ERC-20 - Ethereum.org (تاريخ الاطلاع: 2026-08-20)