فشلت المعاملة، فلماذا خُصمت رسوم شبكة ETH؟

من المهم التمييز أولًا بين «عدم إرسال المحفظة للمعاملة» و«فشلها بعد تنفيذها على السلسلة». فقد تختلف الرسوم تمامًا بين الحالتين.

لنأخذ معاملة عادية على شبكة إيثيريوم الرئيسية مثالًا: يقيس Gas موارد الحوسبة المستهلكة لتنفيذ العملية. إذا أُدرجت المعاملة في كتلة ثم تراجعت بعد تنفيذها، فإن عملية التنفيذ تظل قد استهلكت موارد، رغم عدم اكتمال العملية المطلوبة؛ لذلك يجب دفع رسوم Gas المستهلكة فعليًا.

لنحسب فاتورة افتراضية:
الاستهلاك الفعلي 50,000 Gas، والسعر الفعلي لكل وحدة 20 gwei.
50,000 × 20 = 1,000,000 gwei = 0.001 ETH.

قيمة 20 gwei هنا افتراضية، وليست سعر الشبكة الحالي؛ كما أن 0.001 ETH ليست رسومًا ثابتة تُفرض مع كل معاملة فاشلة.

وهناك ثلاثة مصطلحات يسهل الخلط بينها:
- Gas used: مقدار الحوسبة المستهلك فعليًا.
- Gas limit: الحد الأقصى لمقدار الحوسبة المسموح للمعاملة باستخدامه.
- Gas price: المبلغ المدفوع مقابل كل وحدة حوسبة.

«حد أقصى قدره 100,000 Gas» لا يعني بالضرورة استهلاك 100,000. فقد يستهلك التراجع أثناء التنفيذ العادي جزءًا منه فقط؛ أما نفاد Gas فعلًا فيعني استنفاد الحد الأقصى لمقدار الحوسبة. كما أن زيادة Gas limit لا تصلح تلقائيًا جميع أخطاء العقود الذكية.

وعلى العكس، إذا فشل التحقق محليًا فقط، أو رفض المستخدم التوقيع، أو لم تُنفّذ المعاملة على السلسلة مطلقًا، فلا يمكن الاستنتاج من ظهور تنبيه أحمر يفيد بـ«الفشل» وحده أن رسوم Gas قد دُفعت على السلسلة. ينبغي التحقق من سجل الرسوم الفعلي.

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

يتناول هذا المقال آلية رسوم المعاملات العادية على شبكة إيثيريوم الرئيسية فقط؛ وقد تختلف هياكل الرسوم في الشبكات الأخرى وطبقات L2.
#إيثيريوم #رسوم_Gas #معرفة_على_السلسلة