سلام اقای فتحی.
اتفاقا یکی از مهمترین کاربردهای قرارداد های هوشمند بر این اساس هست که بتونیم با قراردادها تراکنش مالی داشته باشیم. و نکته اینه یک قرارداد هم می تونه حاوی کد و دیتا باشه و هم می تونه حاوی اتر باشه و در حقیقت انگار تراز مالی برای قرارداد داشته باشه. همه کاربردهایی رو که از قرارداد هوشمند در ذهن دارید می تونید با این مفهوم قراردادن اتر در قرارداد هوشمند پیاده سازی کنید. فرض کنید همه برای یک قرارداد هوشمند اتر ارسال می کنند و اون قرارداد مثلا قرعه کشی انجام میده و اترهایی رو که در خودش داره برای حساب برنده ارسال میکنه. یا مثلا یک قرارداد هوشمند بیمه رو در نظر بگیرید که با اجرا شدن میزان خسارت رو به طور اتوماتیک از حساب خودش به حساب شخص اسیب دیده منتقل میکنه . و یا یک قراردادهوشمند که به اشخاص از موجودی خودش وام میده و …
در حقیقت بیشتر این حالت که توی قرارداد هوشمند اتر داشته باشیم در دنیای دیفای مرسوم هست تا اینکه با حساب اشخاص یا همون کاربران حقیقی کار کنیم . امیدوارم براتون ارفع اشکال شده باشه . با این حال اگر هنوز مبهم هست یا سوال دیگه ای دارید خوشحال میشم راهنمایی کنم.
بسیار عالی توضیح دادین. کامل متوجه شدم. سپاس
سلام
گفته شد که بلاک های اتریوم بر اساس gas تنظیم می شن. خوب وقتی شبکه شلوغ ( تعداد تراکنش های زیاد) به طبع gas می ره بالا و این باعث می شه تعداد تراکنش های کمتری تو بلاک بشینه که نتیجه می شه تراکنش های کمتری از ممپول کم بشه ، این موضوع خودش باعث می شه تو زمان های شلوغی شبکه، خیلی بیشتر شبکه شلوغ بشه. درسته؟
مرسی
سلام خسته نباشین
همونطور که گفتین بلاک های اتریوم بر اساس gas limit ساخته میشن. پس ماینر در واقع همیشه در حال محاسبه مجموع گس هاست تا زمانی که به حدش برسه… درسته؟ بعد تا چه میزان کمتر از gas limit (ماکزیمم گس یک بلاک) باشه اون بلاک رو قبول میکنن؟ یعنی حداقل نداره؟
@arian_zr
سلام و احترام
به نظرم درسته تعداد تراکنش های داخل بلاک کمتر می شوند ولی به همون نسبت بلاک سریعتر بسته شده و بلاک جدید ایجاد میشود.مثلا بعضی از بلاک ها در یک ثانیه ایجاد و تکمیل می شوند .
سلام دوستان من یه چیزی رو متوجه شدم که احتمالا به درد شماهام بخوره اینکه بلاک سایز در اتریوم ماکزیمم 15میلیون نیست!
در واقع هر بلاک تو اتریوم یه تارگت سایز داره یعنی هدف اینه که بلاک سایزش برسه به یه عددی! که الان در حالا حاضر 15میلیون gas و این مقدار ماکزیمم نیست صرفا یه هدفه ! ماکزیم در واقع 30میلیون gas هستش. بعد آپگرید لندن، شبکه نگاه میکنه اگه بلاکی که ماین شد تارگت سایزش از 15میلیون گس بیشتر باشه میاد برای بلاک بعدی base fee رو به میزان 12.5درصد افزایش میده تا دوباره سعی بشه تارگ سایز برسه به 15میلیون. و اگه تارگت سایز کمتر از 15میلیون گس بشه ، base fee رو کاهش میدن تا دوباره بلاک سایز به تارگت سایز نزدیک بشه
با سلام،
ممنون از این دوره بسیار مفیدتون، سوالی که داشتم اینه که اگر بلاک های اتریوم بر اساس gas limit ساخته میشن، پس اون تایم ایجاد هر بلاک که 15 ثانیه هست به چه دردی میخوره؟ در واقع دیگه سختی شبکه مهم نخواهد بود که بخواد تایم ایجاد هر بلاک رو تنظیم کنه چون بلاک باید به اون gas limit مورد نظر برسه تا ساخته بشه.
ممنون میشم این مورد رو بیشتر توضیح بدین، با تشکر
بله اینی که می فرمایید درست است و در پادکست شیر یا خط کامل توضیح داده اند. سیوال من در واقع در رابطه با حداکثر تعداد تراکنش هایی که می شه در بلاک قرار بگیره بود
خب شما مگه تراکنشتون gas limit نداره ؟ مگه بلاک ها بر اساس gas limit پر نمیشن؟ ماکزیمم هم 30میلیون گس برای هر بلاک هستش
پس بستگی داره چندتا تراکنش با چه میزان گس لیمیت داشته باشین
سلام نه
تراکنش base fee داره و شما باید اونو پرداخت کنید. gas limit در واقع حداکثر میزان عملکردی هست که می شه در بلاک قرار بگیره که برابر با ۳۰ میلیون هست
نه عزیز ما یه block gas limit داریم برای هر بلاکه یه gas limit که برای هر تراکنش هستش. base fee هزینه ای که burn میشه در واقع شما هزینه ای که برای هر تراکنش میدین فرمولش اینه
Gas limit * (Base fee + Priority Fee) = Transaction Fee
حالا مجموع gas limitهای تراکنش های یه بلاک نباید از gas limit block بیشتر بشه.
دوست عزیز شما اصلا سیوال منو اشتباه متوجه شدی. جواب منو خانوم مهناز خیلی کامل دادن و من متوجه شدم. هر بلاک یک محدودیتی داره که همون ۳۰ میلیون گس هست الان. مشکلی که من داشتم این بود که وقتی اتریوم برخلاف بیت کوین که بر اساس حجم بلاک رو می بنده اگر شبکه اتریوم شلوغ بشه به طبع برای هر تراکنش گس بیشتری باید صرف بشه ( همون base) پس در نتیجه تعداد تراکنش کمتری در بلاک می شینه و همین قضیه باعث می شه شبکه بیشتر شلوغ بشه که خانوم مهناز توضیح دادن در این شرایط چیجوری مشکل حل می شه
در رابطه با قضیه فی 2 تراکنش یکی قبلی EIP1559 و دیگری بعد از اون
Max Fee ماکزیمم پولی که به ازای هر gas حاضرین پرداخت کنین از این مقدار Base Fee اول کم میشه بعد Max Priority کم میشه (پس این دوتا زیر مجموعه MAX Fee هستن) با این کار Gas Price مشخص میشه. فقط میمونه اینکه چقدر Gas Usage داشتیم (تو تصویر دورش خط کشیدم) اینو تو Gas price ضرب میکنیم و حاصل میشه Transaction Fee که میشه همون فرمولی که گفتم.
اینکه گفتید ترتیب تراکنش ها برا اساس عدد nonce هست
ینی اگر من یک تراکنش با nonce عدد 1 ایجاد کنم که wei اون اینقدر پایین باشه که هیچ ماینری تشویق نشه اون رو تایید کنه و یک تراکنش دیگه با nonce عدد 2 ایجاد کنم که wei اون بالا باشه که زود اجرا بشه
الان اینجا چه اتفاقی میفته ؟
آیا دومی منتظر اولی می مونه یا نه دومی زودتر از اولی اجرا میشه ؟
تراکنشها به ترتیب عدد نانس اجرا میشن، هیچ وقت تراکنش دوم حتی اگر با کارمزد خیلی بالا اون رو بفرستید زودتر از تراکنش اول اجرا نخواهد شد.
سلام و احترام . سحر بانو من یک مطلبی در مورد نحوه کنسل کردن تراکنش ها مطالعه کردم ؛ متن اصلی اش رو اینجا قرار میدهم ؛امکانش هست که شما هم مطالعه کنید . به نظر میرسد که یک راه برای کنسل کردن تراکنش ها ارسال یک تراکنش با کارمزد بالاتر و مبلغ صفر می باشد که در این صورت ترتیب تراکنش ها لحاظ نخواهد شد
After confirming your pending transaction is indeed still “Pending” on the Explorer, you may try to cancel and speed up the transaction by using the replace-by-fee method -
- Cancel: Sending a 0 ETH/ERC-20 transaction to your own address with a higher fee to prevent the previous stuck transaction from the process of waiting for confirmation
ممنون از پاسخ تون
راهی هست بشه مقدار گس تراکنش pending رو افزایش داد و یا منقضی کرد؟
سلام بله میشه اگه از متامسک استفاده میکنید میتونید مقاله زیر رو مطالعه کنید
سلام
یجا گفتین کلاینت ها میتونن گس فی رو صفر در نظر بگیرن ولی هدر رو یجوری تغییر بدن که برای یه ماینر مبلغی ارسال کنن که اون ماینر خاص اونو تایید کنه
سوالم اینه مثلا من ماینرم، میام یه حمله ترتیب میدم یا یه اسکریپت مخرب مینویسم که هدر همه ی کاربر هارو تغییر بده به سمت من تا همه رو خودم ماین کنم…
این کار ممکنه ؟
سوال دیگه هم اینه که ماینر ها هم برای برادکست کردن بلاکی که ماین کرده اند، گس میپردازن تا توی شبکه برادکست بشه ؟