مفهوم گس GAS در شبکه اتریوم چیست؟
با سلام و درود خدمت ایران ریچی های عزیز. امروز قصد داریم تا باهم درباره مفهوم گس GAS صحبت کنیم. بفهمیم GAS Price چیه و GAS Limit چیه؟ و در آخر ببینیم اگر تراکنشمون در شبکه اتریوم ارسال نشد چی کار کنیم تا تراکنش لغو و موجودی به کیف پولمون بازگردونده بشه.
قبل از اینکه شروع کنیم به صحبت درباره ماهیت گس بزارید یک مثال بزنم تا ذهنتون آماده بشه.
شما قصد دارید تا از شهر خودتون به تهران سفر کنید. طی این سفر می خواهید از خودرو خودتون استفاده کنید. پس اولین کاری که می کنید چیه؟ میرید بنزین بزنید که یک وقت تو جاده نمونید. حساب می کنید مسافت تا تهران X کیلومتر است. خودرو شما هر ۱۰۰کیلومتر X قدر مصرف می کنه. پس با یک ضرب ساده متوجه میشید که Xقدر باک بنزین لازم دارید و هزینه هر لیتر بنزین برابر با X تومنه. با این کار شما به راحتی می تونید بفهمید چند باک بنزین لازم دارید و چقدر لازمه هزینه کنید تا از شهرتون به تهران برسید.
برگردیم به دنیای اتریوم.
سوخت تراکنش های اتریوم (گس) چیست؟
در شبکه اتریوم هر تراکنشی که انجام بدید نیاز داره تا مبلغی به عنوان هزینه تراکنش و زحمت ماینرها پرداخت کنید. این هزینه تراکنش با اتریوم پرداخت میشه ولی با واحدی تحت عنوان گس حساب میشه. این گس همون سوخت لازم برای انتقال تراکنش شما محسوب میشه.
حالا تراکنش ها در شبکه اتریوم که فقط تراکنش مالی نیستند یعنی مثل بیت کوین که فقط انتقال دارایی نیستند. اتریوم بستر قرارداد هوشمند چندین ارز دیجیتاله. چندین ارز دیجیتال خونه خودشونو در زمین اتریوم ساختند. پس در اصل ماینرهای اتریوم ۲ راه درآمد زایی در شبکه اتریوم دارند.
- استخراج بلاک و دریافت پاداش بلاک (تراکنش معمولی)
- دریافت کارمزد برای انجام تراکنش ها و اجرای قرارداد هوشمند. (تراکنش قرارداد هوشمند)
در مورد گس ما با دو مفهوم سر و کار داریم
- GAS PRICE قیمت گس
- GAS LIMIT حد (مقدار) گس
GAS PRICE
قیمت گس همون قیمت هر لیتر بنزینه و برابر با هزینه لازم برای هر واحد گس.
در این وب سایت می تونید مشاهده کنید که ۳ قیمت گس مشخص شده است. قیمت استاندارد که میانگین قیمت گس در شبکه است، قیمت سریع که اگر بخواهید تراکنشتون سریعا انجام بشه از این هزینه استفاده می کنید و در آخر قیمت تریدر که در کوتاه ترین زمان ممکن تراکنش توسط ماینرها انتخاب شده و انجام می شود.
اگر مبلغی کمتر از مبلغ استاندارد انتخاب کنید ممکنه تراکنش شما اصلا توسط ماینرها انجام نشه و یا خیلی دیر انجام بشه. پس با توجه به GAS PRICE اگر قصد داشته باشید که تراکنشتون سریعا انجام بشه باید مبلغ گس بیشتری انتخاب کنید و ربطی به GAS LIMIT که در ادامه توضیح خواهیم داد نداره.
لازم به ذکره گس یک ارزدیجیتال نیست و در صرافی ها خرید و فروش نمیشه تنها واحد اندازه گیری هزینه تراکنش شبکه است.
GAS LIMIT
حد و یا اندازه گس همون باک خودروست. وقتی شما قصد دارید تراکنشی رو انجام بدید GAS LIMIT رو انتخاب می کنید و در اینجا دو حالت پیش میاد:
- یا GAS LIMIT رو بیشتر از مقدار مورد نیاز انتخاب کردید که در این صورت مابقی به کیف پول شما بازگردانده می شود
- یا GAS LIMIT رو کمتر از مقدار مورد نیاز انتخاب کردید که در این حالت شما هزینه تراکنش رو پرداخت می کنید و پول از جیبتون می پره ولی تراکنش شما به مقصد نمی رسه.
اما چرا مبحثی تحت عنوان GAS LIMIT وجود دارد؟
تو عکسی که قرار دادیم بالاتر در بخش ۴ دقت کنید نوشتیم تراکنش ها از بابت کاری که باید روشون انجام بشه باهم متفاوت اند. طبیعتا یک تراکنش ساده اتریومی ولت به ولت یا ولت به صرافی هزینه کمتری در بر داره نسبت به تراکنش یک قرارداد هوشمند که چندین خط کد برنامه نویسی داره.
مثلا دو ماشین قصد دارند از تهران حرکت کنند یکی میخواد بره کرج و دیگری جنوب کشور.
برای هر دو قیمت بنزین (GAS PRICE) یکی و برابر لیتری ۳ هزار تومنه.
اما آیا هر دو یک مقدار باک (GAS LIMIT) بنزین مصرف می کنند؟
نگران نباشید در کیف پول ارزهای دیجیتال لازم به محاسبه نیست و مقدار LIMIT به صورت خودکار و با توجه به نوع تراکنشتون محاسبه میشه. تنها قیمت GAS PRICE توسط شما انتخاب میشه.
هزینه GAS چطوری محاسبه میشه؟
با اینکه نیازی نیست که هزینه گس رو محاسبه کنید اما نوع محاسبشو براتون میگم.
هر تراکنشی که در شبکه اتفاق میفته به این صورت محاسبه میشه:
کارمزد تراکنش = GAS LIMIT * GAS PRICE
قبل اینکه یک مثال عددی بزنیم این موضوع رو بگم.
جیوی یا Gwei چیست؟
واحد GAS PRICE گیگاوی است که به اختصار بهش می گن Gwei یا همون جیوی.
Wei کوچکترین واحد شمارش اتریوم است مانند ساتوشی که کوچکترین واحد شمارش بیت کوین است.
برگردیم سر حساب کتاب و مثال عددیمون.
من می خوام برای شما مقداری اتریوم ارسال کنم.
در حال حاظر GAS LIMIT برابر با ۲۱,۰۰۰ واحد است و GAS PRICE برابر با ۳۳Gwei است پس:
۲۱,۰۰۰ * ۳۳ = ۶۹۳,۰۰۰ جیوی یا ۰.۰۰۰۶۹۳ اتریوم و با احتساب قیمت اتریوم برابر میشه با ۱.۵$
اما اگر این تراکنش از نظر اسمارت کانترکت یا همون قرارداد هوشمند بود چی؟
این عکس به شما GAS LIMIT مورد نیاز برای هر نوع تراکنش رو نشون میده.
GAS LIMIT مورد نیاز برای قرارداد هوشمند عدد ۳۲,۰۰۰ است دوباره ضرب می کنیم:
۳۲,۰۰۰ * ۳۳ = ۱,۰۵۶,۰۰۰ جیوی یا ۰.۰۰۱ اتریوم که برابر میشه با ۲.۳۲$
این رقم ها زمانی که شبکه پر ترافیک و شلوغ است به طور سرسام آوری بالا میرن تا حدی که ممکنه هزینه تراکنش به ۳۰ دلار هم برسه. در اون لحظه GAS LIMIT تغییری نکرده و GAS PRICE افزایش یافته.
به این شکل می تونید محاسبه کنید ولی نیازی نیست شبکه خودش براتون محاسبه می کنه که چه مقدار GAS LIMIT مورد نیاز است.
تراکنشم هنوز در شبکه اتریوم انجام نشده! چطوری می تونم کنسلش کنم؟
۳ حالت برای تراکنشتون وجود داره طبیعتا:
- تراکنش شما به سلامت ارسال شده.
- تراکنش شما لغو شده و مبلغ به کیف پولتون بازگشته.
- GAS PRICE کمی وارد کردید و تراکنش شما بعد مدت ها هنوز ارسال نشده و وضعیت اون Pending خورده.
اگر تراکنشتون در حالت Pending باشه نمی تونید کنسلش کنید اما می تونید با تراکنش دیگه ای جایگزینش کنید.
TXID خودتونو در Etherscan وارد کنید و مطابق تصویر زیر Nonce تراکنشتونو پیدا کنید.
وارد کیف پول خودتون بشید و تراکنشی به مقدار ۰ اتریوم به آدرس خودتون ارسال کنید. (از کیف پول خودتون به کیف پول خودتون) این بار GAS رو بالا انتخاب کنید وارد قسمت تنظیمات تراکنش شوید و از قسمت Advanced نانس Nonce این تراکنش را برابر با نانس تراکنش قبلیتون که هنوز Pending مونده قرار بدید. تراکنش قبلی شما کنسل خواهد شد و موجودی به حساب شما بازخواهد گشت.
پایان و جمع بندی
در این مقاله تلاش کردیم تا شمارو با مفهوم GAS در تراکنش های اتریوم آشنا کنیم امیدوارم که لذت برده باشید و آموزش مفیدی براتون بوده باشه. ممنونیم 🙂
درمتن چند جا مخاطب رو به عکس ارجاع دادید اما عکسی وجود نداره. لفطا بررسی شود. تشکر.
سلام بر شما دوست گرامی
بله متاسفانه حق با شماست و این مشکل هاست سایت می باشد که بزودی مرتغع می شود.
پیشاپیش از مشکل به وجود اومده عدرخواهم
موفق باشید