خلاصه
اگر تا به حال از شبکه اتریوم استفاده کرده باشید، به احتمال زیاد این تجربه را دارید که گاهی اوقات اجرای تراکنشهای شما بیش از حد معمول زمان ببرند. این اتفاق به دلیل شیوه خاص مورد استفاده ماینرها برای اولویت بندی تراکنشها رخ میدهد – کاربرانی که کارمزد بالاتری را پیشنهاد دهند، در اولویت خواهند بود.
اگر تراکنش اتریوم شما هم به خاطر کم بودن مبلغ گس آن گیر افتاده و اجرا نمیشود، باید منتظر بمانید تا وقتی که کارمزدها کاهش یافته و بالاخره ماینرها تراکنش شما را هم پردازش کنند. اما میتوانید تراکنش در حال اجرا را با یک تراکنش دیگر که کارمزد بالاتری دارد جابجا و لغو کنید. انجام این کار از آنچه که به نظر میرسد راحت تر است و در این مطلب نحوه انجام این کار را به شما آموزش میدهیم. لازم به ذکر است که این روش با اتر و همه توکنهای ERC20 کار میکند.
مقدمه
اول از همه دقت داشته باشید که امکان جابجایی، لغو یا برگشت به عقب تراکنشهایی که از قبل تأیید شده اند وجود ندارد اما در زمانهای ایجاد تراکم در شبکه، ممکن است تراکنشهای مربوط به بعضی از ارزهای دیجیتال در شبکه گیر کنند. وقتی حجم تراکنشها خیلی بالا باشد، ممکن است اجرای یک تراکنش چند ساعت یا حتی چند روز زمان ببرد.
گاهی اوقات این مسدود شدن به صورت خودبخود رفع میشود – یعنی یا به خاطر شکست خوردن تراکنشهای در حال اجرا یا به خاطر کاهش هزینه گس. هر چند در اصل امکان لغو کردن تراکنشهای اتریوم وجود ندارد اما مراحل خاصی وجود دارند که با طی کردن آنها میتوانید این فرایند را سرعت ببخشید. در واقع، این فرایند شامل جایگزین کردن تراکنش در حال اجرا با تراکنشی دارای کارمزد بالاتر است.
ما در این راهنما به شما نشان میدهیم که چگونه با استفاده از متامسک یا تراست والت سرعت تراکنشها را ارتقاء دهید. همچنین میتوانید از سایر والتهایی که از بلاکچین اتریوم پشتیبانی میکنند هم استفاده کنید اما ممکن است این فرایند کمی متفاوت باشد.
الزامات
- نصب تراست والت یا متامسک
- داشتن کلیدهای خصوصی (عبارت یادآور) برای ورود به والت اتریوم
- دسترسی به اینترنت
چرا تراکنش اتریوم من گیر کرده و پیش نمیرود؟
اتریوم با یک سیستم پیشنهاد قیمت برای کارمزد تراکنشها کار میکند. کارمزدهای این شبکه بستگی به میزان پیچیدگی تراکنش (یعنی میزان کار محاسباتی لازم برای اجرای آن) دارد. در این زمینه، سه نکته مهم وجود دارد که باید به آنها توجه داشت یعنی میزان گس، قیمت گس و محدودیت گس.
حجم کارهای محاسباتی لازم برای اجرای تراکنش بر حسب میزان گس اندازه گیری میشود و نرخ پرداخت شده برای هر واحد گس، همان چیزیست که به آن قیمت گس میگوییم. میزان گس به نوعی همان حجم کار لازم برای اجرای تراکنش و قیمت گس هزینهای است که به ازای هر ساعت کار پرداخت میشود. در نهایت، محدودیت گس را داریم که حداکثر مبلغی است که مایلید برای اجرای یک تراکنش پرداخت کنید.
هر چند میزان گس بر اساس پیچیدگی تراکنش مشخص میشود اما خود شما هم میتوانید میزان و محدودیت گس را تعیین کنید. به این ترتیب، کل کارمزد پرداخت شده به عنوان یک انگیزه برای ماینرها کار میکند اما اگر گس شما خیلی کم باشد، ممکن است سایر کاربران با دادن پیشنهادهایی بهتر باعث شوند تراکنش شما در صف باقی بماند. اگر تراکنشی در صف گیر کند، اتریوم تراکنشهای دیگری که از سمت همان والت صادر میشوند را تأیید نمیکند تا زمانی که یک ماینر آن را تأیید کند.
چگونه سرعت تراکنشها را در متامسک افزایش دهیم؟
- وارد والت متامسکی شوید که تراکنش در حال اجرا در آن قرار دارد. اگر این والت از نوع اکسترنال است، باید آدرس را با استفاده از کلید خصوصی یا عبارت یادآور مربوطه به آن وارد کنید.
- در تب Activity تراکنش در حال اجرا را پیدا کرده و بعد روی Speed Up کلیک کنید.
- این فرایند به شما امکان میدهد که تراکنش را دوباره اجرا کنید. با کلیک کردن روی گزینه Fast و بعد Save، حجم گس را افزایش دهید.
- در صورتی که مرحله قبل برای شما جواب نداد، میتوانید به تب Advanced مراجعه کنید تا مبلغ گس را به شکل دستی وارد کنید. میتوانید قیمتهای فعلی گس و میانگین زمان تأیید تراکنشها را در Etherscan یا EthGasStation مشاهده کنید.
چگونه یک تراکنش را در متامسک جابجا کنیم؟
- وارد والت متامسکی شوید که تراکنش در حال اجرا از طریق آن اجرا شده است. باز هم اگر این والت اکسترنال است، باید آدرس را با استفاده از کلید خصوصی یا عبارت یادآور مربوطه وارد آن کنید.
- در تب Activity، تراکنش در حال اجرا را پیدا کنید و برای بررسی اطلاعات روی آن کلیک کرده و بعد مقدار Nonce را بنویسید.
نکته: اگر چند تراکنش در حال اجرا دارید، باید کار را با قدیمی ترین تراکنش شروع کنید (یعنی تراکنشی با کمترین مقدار نانس).
- به بخش تنظیمات (Settings) متامسک رفته و روی Advanced کلیک کنید.
- صفحه را اسکرول کرده و Customize transaction nonce را فعال کنید.
- حالا به عقب برگشته و روی آدرس والت خودتان کلیک کنید تا به کلیپ بورد منتقل شود.
- روی Send کلیک کنید تا یک تراکنش جدید ایجاد شود و بعد آن را در فیلد Add Recipient وارد کنید.
- باید با استفاده از نانس تراکنش در حال اجرا (که در مرحله دوم یادداشت کردید)، 0 ETH به والت خودتان ارسال کنید. هر زمان آماده بودید روی Confirm کلیک کنید.
نکته: اگر گس شما خیلی کم باشد، ممکن است این تراکنش هم گیر کند پس سعی کنید برای گس یک عدد مناسب و معقول مشخص کنید.
- منتظر تأیید تراکنش جدید بمانید تا جایگزین تراکنش قبلی شود.
نکته: برای پیشگیری از بروز مشکلات اتفاقی، گزینه Customize transaction nonce را روی حالت OFF قرار دهید.
چگونه تراکنش را با تراست والت لغو کنیم؟
- روی تراکنش در حال اجرا در اپلیکیشن تراست والت کلیک کرده و فیلد Nonce را پیدا کنید. عددی که در این فیلد مشاهده میکنید را بنویسید.
- یک تراکنش جدید ایجاد کرده و آدرس والت خودتان را در فیلد Recipient Address وارد کنید. مطمئن شوید که این آدرس همان آدرس تراکنش در حال اجرا باشد. مقدار Amount ETH را روی صفر تنظیم کرده و بعد روی Next کلیک کنید.
- روی گزینه settings در گوشه سمت راست ضربه بزنید.
- فیلد Nonce را با مقداری که قبلاً نوشتید جابجا کنید. برای Gas Price از یک قیمت مناسب استفاده کنید تا تراکنش شما دوباره گیر نکند.
- منتظر تأیید تراکنش بمانید تا جایگزین تراکنش در حال انتظار شود.
صحبتهای پایانی
ارسال تراکنش در شبکه و انتظار طولانی مدت برای اجرای آن میتواند تجربه ناخوشایندی باشد. شرایط وقتی بدتر میشود که متوجه شوید تا زمان تأیید یا رد شدن تراکنش نمیتوانید از آن استفاده کنید.
گاهی اوقات، مشکل گیر کردن تراکنشها با کاهش کارمزدهای شبکه به صورت خودکار حل میشود اما ممکن است این کار زمان ببرد. خوشبختانه میتوانید با روشهای ذکر شده و اجرای یک تراکنش با مبلغ صفر، این مشکل را حل کنید. لازم به ذکر است که برای لغو تراکنش باید مبلغ گس مناسبی را وارد کنید.