برای تعویض نشانه ها در UniSwap از یک قرارداد هوشمند استحکام استفاده کنید. Uniswap یک مبادله غیرمتمرکز است که روی blockchain Ethereum اجرا می شود. این مجموعه ای از قراردادهای هوشمندانه استحکام است که برای ایجاد یک محیط خودکار نشانگر بازار که نیازی به مداخله انسانی ندارد ، با هم همکاری می کنند. مبادلات سازنده بازار خودکار اجازه می دهد تا دارایی های دیجیتالی بدون مجوز و به صورت خودکار معامله شود. آنها به جای کتاب سفارش سنتی خریداران و فروشندگان از استخرهای نقدینگی استفاده می کنند.
Since Uniswap is a set of smart contracts you can integrate with it by creating your own application using Web3 or your own Solidity smart contract. The Solidity smart contract code below will facilitate swapping two tokens on Uniswap. It will allow you to swap your tokens through WETH or not through WETH. A lot of times you can get a better price swapping from Token A > WETH > Token B rather then Token A >توکن ب.

قرارداد مبادله ایجاد کنید
برای تعویض نشانه های موجود در UnisWap با استفاده از یک قرارداد هوشمند ، کد زیر را کپی کنید. قرارداد را ایجاد کرده و آن را به blockchain مستقر کنید و سپس پارامترهای لازم را به آن منتقل کنید و یک مبادله توکن را انجام می دهد. پس از استقرار قرارداد می توانید از ریمیکس یا ایترسان برای انجام مبادله یا ساختن یک برنامه ساده در Web3. py استفاده کنید.
این قرارداد به نام Tokenswap و شامل دو عملکرد GetAmountOutmin و Swap است. ابتدا با GetAmountOutmin تماس بگیرید تا در صورت انجام مبادله ، حداقل میزان نشانه هایی را که دریافت خواهید کرد ، دریافت کنید و سپس عملکرد مبادله را در قرارداد تماس بگیرید و به عنوان یکی از پارامترها در مبلغ خود عبور کنید. نظرات مفصل را در کد بخوانید تا درک بهتری از آنچه قرارداد انجام می دهد ، بدست آورید.
// SPDX-license-identififier: MITپراگما استحکام ^0. 7. 0 ؛// رابط ERC20 را وارد کنیدرابط IERC20// وارد کردن روتر Uniswap // قرارداد باید از SwapexactTokenSfortokens استفاده کند // این به ما امکان می دهد SwapExactTokenSfortokens را وارد قرارداد خود کنیمرابط IUNISWAPV2ROUTER// مقدار نشانه هایی که ما در آن ارسال می کنیمuint256 مقدارین ،// حداقل میزان نشانه هایی که می خواهیم از تجارت خارج شودuint256 مقدار min ،// لیست آدرسهای توکن که می خواهیم به آنها تجارت کنیم. این برای محاسبه مبلغ لازم استآدرس [] مسیر CallData ،// این آدرس است که می خواهیم نشانه های خروجی را به آن ارسال کنیمآدرس به ،// آخرین باری که تجارت برای آن معتبر است uint256 deadline ) exteal retus (uint256[] memory amounts);>رابط IUNISWAPV2PAIRرابط IUNISWAPV2Factoryتوکن قرارداد<// آدرس روتر Uniswap v2آدرس خصوصی UNISWAP_V2_ROUTER = 0x7A250D5630B4CF539739DF2C5DACB4C659F2488D ؛// آدرس Weth Token. این مورد نیاز است زیرا بعضی اوقات بهتر است از طریق WETH تجارت کنید.// ممکن است با استفاده از WETH قیمت بهتری کسب کنید.// مثال تجارت از Token A به Weth و سپس Weth برای نشان دادن B ممکن است منجر به قیمت بهتری شودآدرس خصوصی WETH = 0xc02AAA39B223FE8D0E5C4F27EAD9083C756CC2 ؛// این تابع مبادله برای تجارت از یک نشانه به دیگری استفاده می شود // ورودی ها خود توضیح می دهند // Token in = آدرس نشانه ای که می خواهید از // token out = آدرس توکن مورد نظر خود را به عنوان خروجی این کار می خواهید. تجارت // مبلغ در = مقدار نشانه هایی که در آن ارسال می کنید // مبلغ حداقل = حداقل مقدار نشانه های مورد نظر شما از تجارت // به = آدرس مورد نظر شما می خواهید به آنها ارسال شودمبادله عملکرد (آدرس _tokenin ، آدرس _tokenout ، uint256 _amountin ، uint256 _amountoutmin ، آدرس _to) خارجی<// ابتدا باید مبلغ موجود در نشانه ها را از msg. sender به این قرارداد منتقل کنیم // این قرارداد میزان توکن ها را خواهد داشتIERC20 (_tokenin) . transferfrom (msg. sender ، آدرس (این) ، _amountin) ؛// بعد باید به روتر UNISWAPV2 اجازه دهیم تا نشانه ای را که فقط به این قرارداد ارسال کرده ایم خرج کند // با تماس با IERC20 تأیید می کند که قرارداد UNISWAP اجازه می دهد تا نشانه ها را در این قرارداد بگذراندIERC20 (_tokenin). APPROT (UNISWAP_V2_ROUTER ، _AMOUNTIN) ؛// مسیر مجموعه ای از آدرس ها است.// این آرایه مسیر دارای 3 آدرس [Tokenin ، Weth ، tokenout] // در صورت بیانیه زیر در صورت توجیه یا نشانه گذاری در نظر گرفته می شود. سپس مسیر فقط 2 آدرس استآدرس [] مسیر حافظه ؛if (_tokenin == weth || _tokenout == weth)دیگر // سپس ما با swapexacttokensfortokens تماس خواهیم گرفت // برای مهلت ما در block. timestamp // آخرین مهلت آخرین زمانی است که تجارت برای آن معتبر است IUniswapV2Router(UNISWAP_V2_ROUTER).swapExactTokensForTokens(_amountIn, _amountOutMin, path, _to, block.timestamp);> // این عملکرد حداقل مبلغ را از مبادله باز می گرداند // 3 پارامتر زیر را وارد می کند و حداقل مبلغ را خارج می کند // این مورد برای عملکرد مبادله بالا لازم استتابع getAmountOutmin (آدرس _tokenin ، آدرس _tokenout ، uint256 _amountin) بازده خارجی (uint256)<// مسیر مجموعه ای از آدرس ها است.// این آرایه مسیر دارای 3 آدرس [Tokenin ، Weth ، tokenout] // در صورت بیانیه زیر در صورت توجیه یا نشانه گذاری در نظر گرفته می شود. سپس مسیر فقط 2 آدرس استآدرس [] مسیر حافظه ؛if (_tokenin == weth || _tokenout == weth)دیگرuint256[] memory amountOutMins = IUniswapV2Router(UNISWAP_V2_ROUTER).getAmountsOut(_amountIn, path); retu amountOutMins[path.length -1];>>
این قرارداد را می توان برای پشتیبانی از مبادله های دیگر در سایر کلون های Uniswap در blockchain Ethereum ، زنجیره هوشمند Binance ، چند ضلعی و غیره اصلاح کرد. زنجیره هوشمند Binance ، چند ضلعی ، UBIQ ، ارزان و غیره. بشر
- Uniswap - Ethereum
- Mooniswap - اتریوم
- تبادل 1 اینچ - اتریوم
- Sushiswap - Ethereum
- Sashimiswap - Ethereum
- مبادله پنکیک زنجیره ای هوشمند Binance
- ارزان ارزان قیمت
- ابیق شینوبی
- تعویض چند ضلعی
برای اینکه این قرارداد در محیط های دیگر کار کنید ، نیاز دارید:
- آدرس روتر را برای کلون UNISWAP تغییر دهید
- WETH (در صورت لزوم) را برای افراد معادل دیگر روی blockchains تغییر دهید
این کد فقط برای اهداف یادگیری و سرگرمی است. کد حسابرسی نشده و در معرض خطر خود شما استفاده شده است. به یاد داشته باشید که قراردادهای هوشمند تجربی هستند و می توانند دارای اشکالات باشند.
برای اطلاعات بیشتر در مورد نحوه استفاده از شبکه تست Ethereum و نحوه به دست آوردن ETH آزمون اینجا را کلیک کنید.
منابع
شبکه های blockchain
در زیر لیستی از شبکه های MainNet سازگار با EVM و testnet blockchain وجود دارد. هر لینک شامل پیکربندی شبکه ، پیوند به چندین شیر آب برای ETH و نشانه های آزمایش ، جزئیات پل و منابع فنی برای هر blockchain است. اساساً همه چیزهایی که برای آزمایش و استقرار قراردادهای هوشمند یا برنامه های غیر متمرکز در هر زنجیره نیاز دارید. برای لیستی از انجمن های محبوب اتریوم و برنامه های چت اینجا را کلیک کنید.
 | پیکربندی شبکه تست Ethereum و اطلاعات شیر آب ETH |
 | پیکربندی Othereum Mainnet و Testnet خوش بینانه ، جزئیات پل و غیره |
 | پیکربندی شبکه چند ضلعی Mainnet و TestNet ، شیر آب برای توکن های آزمایشی آزمایش ، جزئیات پل و غیره. |
 | Binance Smart Chain Mainnet و Testnet ، پیکربندی برای آزمایش توکن BNB ، جزئیات پل و غیره. |
 | پیکربندی Fanton NetWort Mainnet و TestNet ، شیر آب برای نشانه های FTM Test ، جزئیات پل و غیره. |
 | پیکربندی زنجیره ای Kucoin Mainnet و TestNet ، شیر آب برای نشانه های آزمایش KCS ، جزئیات پل و غیره. |
کتابخانه های نرم افزاری Web3
می توانید از کتابخانه های زیر برای تعامل با یک blockchain سازگار با EVM استفاده کنید.
- Python: Web3. Py Python کتابخانه برای تعامل با Ethereum. نمونه های web3. py
- JS: Web3. js Ethereum JavaScript API
- Java: Web3J Web3 Java Ethereum ðapp API
- PHP: Web3. PHP یک رابط PHP برای تعامل با blockchain و اکوسیستم Ethereum.
گره
معامله را برطرف کنید
چگونه می توان یک معامله معلق را که در زنجیره سازگار با Ethereum یا EVM گیر کرده است ، برطرف کنیم
فارکس را از کجا شروع کنیم...
ما را در سایت فارکس را از کجا شروع کنیم دنبال می کنید
برچسب :
نویسنده : لیما اصغرپورسازونی
بازدید : 38
تاريخ : دوشنبه
13 شهريور
1402 ساعت: :