اگر شبکه ای که در تعامل با EIP-1559 در تعامل هستید ، می توانید هنگام ارسال معاملات از یک مدل هزینه بهتر استفاده کنید. به جای مشخص کردن GAS_PRICE ، اولویت_فه و یک max_fee اختیاری را مشخص می کنید.
- Priority_fee MaxPriorityFeepergas را که به معدنکار منتقل می شود ، تعیین می کند. هزینه اولویت پیشنهادی را می توان از Chain. priority_fee خوانده کرد.
- MAX_FEE Maxfeepergas را تعیین می کند ، که شامل هزینه پایه نیز می شود ، که برای کلیه معاملات موجود در بلوک یکسان است و سوخته می شود و هزینه اولویت شما است. هزینه پایه فعلی را می توان از Chain. base_fee خوانده کرد.
اگر فقط هزینه اولویت را مشخص کنید ، Brownie از Base_fee * 2 + Priority_fee به عنوان MAX_FEE استفاده می کند.
معاملات هزینه پویا از استراتژی های گاز پشتیبانی نمی کند (و مسلماً نیازی به آن نیست). بخش زیر فقط مربوط به معاملات میراث است که از GAS_PRICE استفاده می کنند.
تنظیم هزینه های پویا پیش فرض
شما می توانید از Network. priority_fee برای تعیین هزینه اولویت پیش فرض برای همه معاملات استفاده کنید:
تنظیم پیش فرض در "خودکار" به صورت پویا هزینه اولویت را با استفاده از Web3. eth. max_priority_fee تعیین می کند. تنظیم به هیچ کس به معاملات سبک میراث باز نخواهد گشت.
استراتژی های بنزین
استراتژی های گازی اشیاء هستند که به طور پویا قیمت گاز را برای یک معامله ایجاد می کنند. همچنین می توان از آنها برای جایگزینی خودکار معاملات در انتظار در Mempool استفاده کرد.
استراتژی های گاز در سه نوع اساسی آمده است:
- استراتژی های ساده یک بار قیمت گاز را ارائه می دهند ، اما جایگزین معاملات در انتظار نمی شوند.
- استراتژی های بلوک قیمت اولیه را ارائه می دهند و به صورت اختیاری جایگزین معاملات در انتظار بر اساس تعداد بلوک هایی که از زمان پخش اولین معامله استخراج شده اند ، جایگزین می شوند.
- استراتژی های زمانی قیمت اولیه را ارائه می دهند و به صورت اختیاری جایگزین معاملات در انتظار بر اساس میزان زمانی که از زمان پخش اولین معامله گذشته است ، جایگزین می شود.
با استفاده از یک استراتژی گاز
برای استفاده از یک استراتژی گاز ، ابتدا آن را از brownie. network. gas. strategies وارد کنید:
سپس می توانید هنگام انجام معامله ، شیء را در قسمت GAS_PRICE تهیه کنید:
هنگامی که استراتژی جایگزین معامله معلق شود ، شیء TransactionReceipt برگشتی برای معامله ای است که تأیید می کند.
در طی معاملات غیر مسدود کننده ، کلیه معاملات در انتظار در شیء تاریخ موجود است. به محض تأیید یک معامله ، معاملات حذف شده باقی مانده برداشته می شود.
تنظیم یک استراتژی پیش فرض گاز
شما می توانید از network. gas_price برای تنظیم یک استراتژی گاز به عنوان پیش فرض برای همه معاملات استفاده کنید:
استراتژی های گاز موجود
کلاس Brownie. network. gas. strategies. LinearscalingStrategy (اولیه_GAS_PRICE ، max_gas_price ، افزایش = 1. 125 ، time_duration = 30)
استراتژی مقیاس گذاری مبتنی بر زمان برای افزایش قیمت گاز خطی.
اولیه_GAS_PRICE: قیمت اولیه گاز برای استفاده در اولین معامله
max_gas_price: حداکثر قیمت گاز برای استفاده
افزایش: برای تعیین قیمت گاز جدید ، ضرب به قیمت گاز قبلی اعمال می شود
Time_duration: تعداد ثانیه بین معاملات
استراتژی مقیاس گذاری مبتنی بر زمان برای افزایش قیمت گاز نمایی.
قیمت گاز برای هر معامله بعدی به عنوان قیمت قبلی ضرب شده توسط 1. 1 ** n در جایی که n تعداد معاملات پخش شده است محاسبه می شود. در این روش افزایش قیمت به تدریج شروع می شود و تا زمان تأیید افزایش می یابد.
اولیه_GAS_PRICE: قیمت اولیه گاز برای استفاده در اولین معامله
max_gas_price: حداکثر قیمت گاز برای استفاده
Time_duration: تعداد ثانیه بین معاملات
استراتژی گاز ساده برای تعیین قیمت با استفاده از API GasNow.
سرعت: قیمت گاز برای استفاده بر اساس تماس API. گزینه ها سریع ، سریع ، استاندارد و کند هستند.
استراتژی گاز مقیاس پذیر مبتنی بر بلوک با استفاده از API GasNow.
IDIAN_SPEED: قیمت اولیه گاز برای استفاده در هنگام پخش اولین معامله. گزینه ها سریع ، سریع ، استاندارد و کند هستند.
max_speed: حداکثر قیمت گاز برای استفاده در هنگام تعویض معامله. گزینه ها سریع ، سریع ، استاندارد و کند هستند.
افزایش: چند برابر برای تعیین قیمت گاز جدید به قیمت گاز اخیراً استفاده شده است. اگر مقدار افزایش یافته کمتر یا مساوی با نرخ فعلی max_speed باشد ، معامله جدید پخش می شود. اگر نرخ فعلی برای اولیه_په بیشتر از نرخ افزایش یافته باشد ، در عوض از آن استفاده می شود.
block_duration: تعداد بلوک هایی که باید بین پخش معاملات جدید منتظر بمانید.
استراتژی گاز مقیاس مبتنی بر بلوک با استفاده از رابط GraphQL Geth.
برای استفاده از این استراتژی باید از طریق یک گره GETH با GraphQL فعال شوید.
قیمت گاز حاصل از آن با مرتب سازی معاملات در Mempool با توجه به قیمت گاز و بازگرداندن قیمت معامله در موقعیت تعیین می شود. این همان تکنیکی است که توسط API Gasnow استفاده می شود.
موقعیت 200 یا کمتر معمولاً معامله را در بلوک معدن قرار می دهد.
موقعیت 500 معمولاً معامله ای را در بلوک 2 در انتظار قرار می دهد.
ساخت استراتژی گاز خود
برای اجرای استراتژی گاز خود ، باید از یکی از کلاسهای پایه انتزاعی استراتژی گاز زیر طبقه بندی کنید.
تحليلات الفوركس...
ما را در سایت تحليلات الفوركس دنبال می کنید
برچسب :
نویسنده : یکتا ناصر
بازدید : <-PostHit->
تاريخ : يکشنبه
28 اسفند
1401 ساعت: 17:19