ایتھریم ٹریڈز کبھی کبھی کامیاب لگتے ہیں، لیکن اس کے پیچھے مسائل چھپے ہو سکتے ہیں۔
گٹہب پر منصوبہ کشیدہ پل ریکسٹ #36084 کے مطابق، ایک گیت ڈویلپر نے اس کلائنٹ کے گیس اندازہ لگانے کے طریقہ کار میں درستگی کا پیش کیا ہے۔ یہ پیچ موجودہ اندازہ لگانے والے میں ایک مسئلے کو حل کرتا ہے: ایک اسمارٹ کنٹریکٹ کے دوسرے اسمارٹ کنٹریکٹ کے اندر کال کے ناکام ہونے کو نظرانداز کرنے کی وجہ سے گیس لِمٹ کا غلط اندازہ لگایا جا سکتا ہے۔
ہاں، ہر ٹریڈ مکمل ہو سکتی ہے، لیکن صارف کے اصلی مقصد کے واقعی پورا ہونے کا کوئی ثبوت نہیں ہے۔
گیس اسٹیمیٹ کیا مسئلہ ہے؟
مسئلہ اس طرز کے مکینزم میں ہے: ایک اسمارٹ کنٹریکٹ دوسرے اسمارٹ کنٹریکٹ کو کال کرتا ہے، غلطی کو کیپچر کرنے کے بعد واپسی، ناکامی کو ریکارڈ کرنے، یا صرف کسی آئٹم کو چھوڑ دینے کے لیے جاری رکھتا ہے۔ ٹیکنیکلی بات یہ ہے کہ یہ ٹرانزیکشن کامیاب ہے، لیکن صارف کے لیے نتائج مختلف ہوتے ہیں۔
اس سے یہ ممکن ہو سکتا ہے کہ والٹ، جو ٹرانزیکشن کو ختم کرنے کے لیے کافی گیس لِمٹ تجویز کرتا ہے، لیکن ٹرانزیکشن کے اندر اصل کام کو مکمل کرنے کے لیے کافی نہ ہو۔ یہ ڈیولپر نے مزید بتایا کہ EIP-8037 اس صورتحال کو زیادہ عام بناسکتا ہے، کیونکہ ناکام اندریں ایکزیکیشن سے واپس ملنے والی گیس، بیک اپ پروسیس کے لیے فنڈنگ فراہم کرنے میں مدد کرسکتی ہے۔
Geth کے پل ایکسٹ ریکسٹ #36084 نے کیا تبدیل کیا؟

اس پull request کے مطابق، اس تبدیلی نے گیس کے اندازے میں “کامیابی” کی تعریف کو زیادہ سخت بنایا ہے۔ گیٹ کا یہ ورژن اندر کی ناکامیوں کے طریقہ کار کو بہتر بنائے گا: صرف یہ چیک کرنے کے بجائے کہ ٹرانزیکشن مکمل ہو گئی ہے یا نہیں، یہ ناکام اندر کے کالز اور معاہدہ تخلیق کو بھی شامل کرے گا۔
اگر ٹریڈ مکمل ہو جائے، لیکن اس کے نتیجے میں جتنے اندر کے خراب ہونے کے واقعات ہوتے ہیں، وہ اعلیٰ گیس لِمٹ کے ساتھ ایک حوالہ انجام دینے سے زیادہ ہوں، تو اس اندازے کو مسترد کر دیا جائے گا۔
تاہم، یہ ڈیویلپر نے زور دیا کہ ایک ایسا انٹرنل کال جو ہمیشہ ناکام ہو، اس کی وجہ سے تخمینہ بے حد نہ بڑھنا چاہیے۔ ریفرنس ایکزیکشن کا مقصد یہ ہے کہ ایسٹیمیٹر وہ ناکامیاں برقرار رکھے جو پہلے سے موجود ہیں، جبکہ گیس کی کمی کی وجہ سے نئی ناکامیاں شامل نہ ہوں۔ اس پروپوزل میں ایک الگ امستردام ریفرنس بھی شامل کیا گیا ہے تاکہ صرف اسٹیٹ گیس ریزرو کے لیے غیر ضروری اپ ڈیٹس سے بچا جا سکے۔
ڈیولپرز نے کہا کہ انہوں نے امستردام اپڈیٹ کے نئے قواعد کے مطابق 432 ایتھریم مین نیٹ ورک ٹرانزیکشنز کو دوبارہ چلایا ہے، اور پیش کی گئی تبدیلیوں نے 67 کیسز میں سے 64 کو درست کر دیا ہے۔
گیس لِمٹ میں 4 فیصد اضافہ کیا گیا ہے۔ علاوہ ازیں، 254 اضافی تخمینوں کو متاثر نہیں کیا گیا کیونکہ ان معاملات میں اوپر کا مسئلہ موجود نہیں تھا؛ اور 3 معاملات دریافت نہیں ہوئے۔
عام سرمایہ کاروں کے لیے، یہ تجویز کردہ تبدیلی والٹ کے اندازے کی قابلیت بڑھائے گی اور ایسے معاملات کو کم کرے گی جہاں صارفین نے ٹرانزیکشن مکمل کر لیا ہے لیکن متوقع نتائج حاصل نہیں کیے، حالانکہ کچھ معاملات میں گیس لِمٹ زیادہ ہوگا۔ خوشگوار بات یہ ہے کہ اب تک کوئی ثبوت نہیں ملا ہے کہ زیادہ گیس لِمٹ اور زیادہ فees کے درمیان کوئی ثابت شدہ ربط ہے۔


