همه چیز را در مورد اجزای داخلی استخرهای UniSwap و چگونگی جایگذاری آنها در کنار هم بیاموزید. توضیحات گام به گام را دنبال کنید تا استخر شخصی خود را در ماسهبازی مفتول بسازید. سپس خود را امتحان کنید و با کد بازی را شروع کنید.
28 سپتامبر ، 2022 · 7 دقیقه بخوانید

UNISWAP یک پروتکل Defi یکپارچه است که نحوه کار تبادل رمزنگاری را تغییر داده است. این نسخه دارای 3 نسخه است که آخرین نسخه آن را به ارتقاء مهم در سیستم تبادل معرفی می کند.
برای درک بهتر پروتکل ، بیایید مفاهیم کلیدی UNISWAP و قراردادهای هوشمند مربوطه را طی کنیم. سپس ، ما نحوه استفاده از آن قراردادها را برای استقرار استخر UniSwap خود با استفاده از یک مثال عملی در ماسهبازی مفتول نشان خواهیم داد.
در پایان مقاله ، شما با موفقیت یک استخر UniSwap را مستقر کرده اید و یک موقعیت نقدینگی را ذوب کرده اید. و امیدوارم ، شما درک عمیق تری از نحوه کار با قراردادهای هوشمند UniSwap کسب کنید.
UNISWAP چیست؟
UNISWAP پیشرو مبادله غیرمتمرکز (DEX) است که در blockchain Ethereum فعالیت می کند. DEX اجازه می دهد تا ارزهای رمزنگاری شده به روشی کاملاً غیر متمرکز ، بدون استفاده از واسطه. قبل از UNISWAP ، تجارت Cryptocurrency صرفاً توسط مبادلات متمرکز (CEX) مانند Binance یا Coinbase حاکم بود.
Uniswap اولین پروتکل بود که DEX را با یک سازنده بازار خودکار (AMM) به سطح بعدی رساند. AMM نیاز به همسالان برای تجارت را از بین می برد ، همانطور که در مورد کتابهای سفارش سنتی در بازار سهام امروز وجود دارد. در عوض ، الگوریتم AMM نقدینگی را که توسط ارائه دهندگان نقدینگی ، که دارایی های خود را قرار می دهند ، جمع می کند و معامله گران را قادر می سازد از آن استفاده کنند.
پروتکل UNISWAP چگونه کار می کند؟
با UniSwap ، یک معامله گر می تواند نشانه های ERC-20 خود را از طریق استخرها تجارت کند. این استخرها شامل جفت های توکن (به عنوان مثال USDT/WBTC) و هزینه استخر (0. 05 ٪ ، 0. 30 ٪ یا 1 ٪) است. استخر مقدار کمی از این هزینه را برای پشتیبانی از سیستم جمع می کند. شما می توانید استخرهای خود را ایجاد و مستقر کنید ، از جفت هایی که انتخاب می کنید و هزینه استخر را انتخاب می کنید.
پس از ایجاد استخر ، به نقدینگی احتیاج دارد تا معامله گران بتوانند استفاده از آن را شروع کنند. هرکسی می تواند وجوه خود را به استخر واریز کند و به ارائه دهنده نقدینگی (LP) تبدیل شود. ارتقاء V3 مفهوم نقدینگی فعال را به استخرها معرفی کرد. این اجازه می دهد تا LPS در صورت معامله نقدینگی آنها از استخر داده شده ، محدوده قیمت خاصی را انتخاب کند.
هنگامی که قیمت در محدوده مشخص شده است ، موقعیت فعال است: معاملات امکان پذیر است و LP ها در حال کسب هزینه هستند. به این ترتیب ، LP ها می توانند ROI را برای نقدینگی که ارائه می دهند بهینه کنند. علاوه بر این ، معامله گران برخلاف زمانی که سرمایه در فواصل وسیع تر توزیع می شود ، مانند (0 ، ∞) به نقدینگی بالاتر در دسترس در حدود قیمت متوسط دسترسی دارند.

روند افزودن نقدینگی به استخر در محدوده قیمت معین ، "مینینگ" یا "مینتینگ یک موقعیت" نامیده می شود. می توان موقعیت های مختلف را در چندین استخرهای مختلف در محدوده قیمت نعناع کرد. هنگام استخراج موقعیت ، با استفاده از کنه هایی که به عنوان مرزهای موقعیت نقدینگی عمل می کنند ، دامنه قیمت را مشخص می کنید:
- تیک پایین انتهای پایین دامنه را تعیین می کند.
- کنه فوقانی انتهای بالای محدوده را تعیین می کند.
چگونه استخر خود را مستقر کنیم
در این آموزش ، ما از جعبه ماسه ای دلپذیر برای کامپایل و تعاملی نحوه ایجاد استخر نقدینگی استفاده می کنیم. Sandbox به شما امکان می دهد قراردادهای هوشمند خود را بر روی یک چنگال محلی Mainnet یا هر یک از تست های آن مستقر و اجرا کنید. می توانید قراردادهای خود را در یک پرونده استحکام قرار داده و قراردادها را از یک پرونده JavaScript در همان مکان اجرا کنید.
می توانید توضیحات گام به گام را در زیر دنبال کنید و کد کامل را در این جعبه ماسه ای پیدا کنید و بلافاصله نگاهی بیندازید:
کل کد در پرونده استحکام Sandbox است. دکمه Run را بزنید و سپس معاملات درگیر در کل فرآیند را کشف کنید. از طرف دیگر ، می توانید کد را در محیطی که می خواهید آن را اجرا کنید کپی کنید.
نمای کلی از راه حل
قبل از اینکه وارد کد واقعی شویم ، در اینجا یک مرور کلی از راه حل وجود دارد.
ما کد JavaScript را می نویسیم که با استفاده از قراردادهای هوشمند ، استخر و یک موقعیت نعناع را مستقر می کند.
از طرف استحکام ، ما باید چندین قرارداد را اجرا کنیم که در ایجاد استخر شرکت می کنند. در این آموزش ، ما در درجه اول به نقش ، رفتار و استفاده از این قراردادها توجه خواهیم کرد ، کمتر به مباحث عمیق Defi.
ما باید قراردادهای زیر را بنویسیم:
- Uniswapv3pool: این قرارداد نشان دهنده یک استخر است و امکان انجام عملیات در استخر را فراهم می کند: مینینگ ، سوزاندن ، جمع آوری و موقعیت های مبادله.
- Uniswapv3pooldeCaleer: این یک قرارداد کمکی است که استخر را مستقر می کند.
- UNISWAPV3FACTORY: این قرارداد کمکی استخر را با استفاده از uniSWAPV3POOLDECALLER در صورتی که پارامترهای ایجاد استخر کافی باشد ، مستقر می کند.
- uniswapv3manager: این قرارداد برای هماهنگی مینینگ موقعیت (اضافه کردن نقدینگی به استخر برای یک محدوده خاص) استفاده می شود. Uniswapv3pool و این قرارداد با استفاده از معاملات داخلی و تماس های تلفنی تعامل دارند.
علاوه بر قراردادهای اصلی ، انتزاعات سطح بالاتری مانند قراردادهای حاشیه Uniswap و SDK Uniswap نیز وجود دارد ، اما آنها خارج از محدوده این آموزش هستند.
1. Uniswapv3Manager و Uniswapv3Factory را مستقر کنید
ابتدا قراردادهای UnisWAPV3Factory و Uniswapv3Manager را مستقر کنید. در مرحله بعد ، یک کارخانه قرارداد برای قرارداد UNISWAPV3POOL ایجاد کنید تا بتوانید بعداً با خود استخر تعامل برقرار کنید.

2. استقرار استخر
برای ایجاد یک استخر جدید ، می توانید از عملکرد CreatePool از Uniswapv3Factory سفارشی که تازه مستقر کرده اید استفاده کنید.

این مراحل را برای استقرار استخر خود در ماسهبازی دنبال کنید:

- با دو آدرس Token و هزینه استخر به عنوان پارامترها ، عملکرد CreatePool را از uniSwapv3Factory تماس بگیرید. در این مثال ، ما با DAI و WBTC می رویم.
- برای بازیابی آدرس استخر جدید با عملکرد GetPool تماس بگیرید.
- قرارداد استخر را به UniswappoolAddress وصل کنید و آن را با پارامتر SQRTPriceX9 آغاز کنید تا بتوانید با آن قرارداد تعامل برقرار کنید. برای این مثال ، ما از پارامتر موجود در استخر واقعی DAI/WBTC/0،3 ٪ در Mainnet استفاده خواهیم کرد. برای کسب اطلاعات بیشتر در مورد پارامتر ، نحوه محاسبه SQRTPRICEX96 را بیاموزید.
پس از اجرای ماسهبازی ، خروجی کنسول زیر را دریافت خواهید کرد:

Sandbox به صورت دلپذیر ، اسکریپت را کامپایل و اجرا می کند در حالی که سیاهههای مربوط به همه چیز به درستی کار می کنند. تبریک می گویم ، شما یک استخر جدید را آغاز کرده اید! آموزش تحلیل گری...
ما را در سایت آموزش تحلیل گری دنبال می کنید
برچسب :
نویسنده : ملیکا زارعی
بازدید : 35
تاريخ : سه
شنبه
3 مرداد
1402 ساعت: 14:28