خطاهای مشترک

ساخت وبلاگ

این سند چند کد خطا را که اغلب هنگام ساخت در Uniswap V2 با آنها روبرو می شوند ، پوشش می دهد.

Uniswapv2: k

این خطایی است که اغلب با آن روبرو می شود و برای درک آن به کمی زمینه نیاز دارد.

فرمول محصول ثابت Uniswap "x * y = k" است. جایی که X و Y نمایانگر مانده ذخیره مربوط به دو نشانه ERC-20 است ، و "K" نمایانگر محصول ذخایر است. این "K" است که خطای "K" به آن اشاره دارد.

در اصل ، خطای "k" به این معنی است که تجارت تلاش شده است که به نوعی جفت تجارت را با ذخایر کمتری از آنچه در آنجا وجود دارد ، ترک کرد و در نتیجه معامله بازگردد.

این می تواند چند دلیل مختلف داشته باشد.

هزینه در نشانه های انتقال

متداول ترین نمونه ها ناشی از نشانه های "هزینه انتقال" است.

هزینه فراگیر در نشانه های انتقال

در بیشتر موارد ، هزینه ای برای سوختگی نشانه های انتقال یا بخش کوچکی از هر انتقال را منحرف می کند به گونه ای که گیرنده انتقال با اندکی کمتر از فرستنده به پایان می رسد. این هزینه "فراگیر" برای انتقال نامیده می شود.

در مورد هزینه فراگیر در نشانه های نقل و انتقالات ، می توانید از توابع مبادله مربوطه در قرارداد روتر استفاده کنید که با "پشتیبانی از انتقال" پایان می یابد. این توابع با تنظیم پارامتر "مبلغ مین" موفق می شوند تا مبلغ گیرنده را به جای مبلغ ارسال در هنگام محاسبه ثابت ، بررسی کنند.

هزینه انحصاری در نشانه های انتقال

نوع دیگر ، هزینه "اختصاصی" در نشانه های انتقال ، با ارسال انتقال اضافی از آدرس ارسال پس از انتقال اولیه کار می کند. از آنجا که قرارداد روتر نمی تواند هنگام محاسبه متغیر ، این انتقال را پیش بینی کند ، معامله یا بازگردد ، یا با ارسال انتقال اولیه اما شکستن استخر پس از انتقال ، تا حدی موفق می شود.

در مورد هزینه انحصاری در نشانه های نقل و انتقالات ، ممکن است عملکردهای پشتیبانی کننده انتقال دهنده کار کنند ، اما برخی از نشانه ها به گونه ای طراحی شده اند که آنها اساساً روتر را بشکنند. اگر هنوز هنگام استفاده از این توابع خطای "K" را مشاهده می کنید ، ممکن است لازم باشد یک چنگال از قرارداد روتر را که در طراحی توکن شما قرار دارد ، درست کنید.

بازگرداندن نشانه ها

نمونه کمتری از خطای "K" در نتیجه بازگرداندن نشانه ها است.

بازگرداندن نشانه ها می تواند تعادل هرگونه آدرس را که به طور خودسرانه خود را به طور خودسرانه نگه می دارد ، تغییر دهد. این معمولاً در فواصل قبل مشخص شده و در نتیجه تعداد معدودی از متغیرهای مورد استفاده در اقتصاد یک نشانه بازپس گیری کار می کند.

بازگرداندن نشانه ها به طور معمول به دو روش کار می کنند.

نشانه های منفی منفی

یک نشانه منفی منفی ، نوع متداول تر ، توازن صاحبان توکن را کاهش می دهد. از آنجا که بازگرداندن توسط نقل و انتقالات انجام نمی شود ، روتر نمی تواند انتظار داشته باشد که چه موقع یا چگونه یک بازگرداندن اتفاق می افتد. پس از انجام این کار ، ذخایر این زوج نامتعادل خواهد شد و شخص بعدی که با این جفت ارز معامله می کند ، هزینه دلتا را در نتیجه بازگرداندن تحمل می کند.

نیازی به گفتن نیست ، یک موقعیت غیرقابل پیش بینی.

توکن های منفی منفی این خطا را با تغییر قرارداد توکن خود حل کرده اند تا همگام سازی در جفت معاملات در پایان هر معامله مربوط به قرارداد روتر UniSwap را فراخوانی کنند. علاقه مندان به جعل قرارداد روتر باید پیش بینی کنند که توکن های منفی منفی این جفت را بشکنند تا اینکه قراردادهای توکن به روز شوند تا روتر جدید شما را در خود جای دهد.

نشانه های مثبت و مثبت

نشانه های مثبت بازگرداندن خودسرانه توازن دارندگان نشانه را افزایش می دهد. هنگامی که یک Rebase مثبت اتفاق می افتد ، مازاد ایجاد می کند که در جفت تجارت برای آن حساب نشده است. از آنجا که نشانه های اضافی در جفت معاملاتی برای آن حساب نشده است ، هر کسی می تواند SKIM () را با جفت معاملات صدا کند و به طور مؤثر تفاوت مثبت را از تعادل سرقت کند.

در حالی که تعادل مثبت هیچ عملکردی از UniSwap را خراب نمی کند ، افراد علاقه مند به آنها باید بدانند که تعادل مثبت موجود در هر جفت برای گرفتن آزادانه در دسترس خواهد بود.

یادداشتی در مورد بازگرداندن نشانه ها

برای کسانی که علاقه مند به ایجاد یک نشانه پرشور هستند ، یک کلمه احتیاط: بسیاری از قراردادهای مربوط به تجارت غیر متمرکز و تأمین نقدینگی پس از تعامل با نشانه شما شکسته می شوند. یک رویکرد نمونه که منجر به ادغام بسیار ساده تر در پروتکل های آینده خواهد شد می توان در چای یافت. چای از یک تابع بسته بندی استفاده می کند که حاوی تعادل در داخل بسته بندی است ، به گونه ای که می توان نشانه قابل بازخرید را به راحتی در بسیاری از سیستم های مختلف ادغام کرد.

Uniswapv2: قفل شده

خطای قفل شده یک نگهبان است که در قرارداد روتر ساخته شده است و از تلاش برای بازگرداندن قراردادهای سفارشی برای بازگشت کد مخرب به قرارداد روتر در پایان معامله جلوگیری می کند.

این خطا معمولاً هنگام استفاده از Ganache CLI برای چنگ زدن به Mainnet Ethereum به یک نمونه محلی به عنوان بخشی از یک محیط توسعه روبرو می شود. این خطا یک اشکال در Ganache-Cli است که امیدوارم در نسخه بعدی توسط تیم ترافل برطرف شود.

با راه اندازی مجدد چنگال محلی ، یک رفع موقت در دسترس است.

دسترسی به گره بایگانی وجود ندارد

این یک خطا در Metamask یا Ganache-CLI است. معمولاً پس از ایجاد فورک محلی و اجرای قراردادها اتفاق می‌افتد، اما یک تراکنش ناموفق وجود دارد.

با راه‌اندازی مجدد فورک محلی و تنظیم مجدد متاماسک، یک راه حل موقت در دسترس است.

UniswapV2: TRANSFER_FAILED

این بدان معناست که قرارداد اصلی قادر به ارسال نشانه‌ها به گیرنده نیست. این به احتمال زیاد به دلیل یک توکن کلاهبرداری است، که در آن مالک توکن به طور مخرب عملکرد انتقال را غیرفعال کرده است به گونه ای که به کاربران امکان می دهد توکن را خریداری کنند، اما آنها را بفروشند.

UniswapV2: منقضی شده است

این نتیجه تراکنشی است که پخش آن به شبکه اصلی خیلی طول کشید.

Uniswap قیمت بنزین را به صورت بومی تنظیم نمی کند، بنابراین اکثر کاربران به طور پیش فرض قیمت گاز پیشنهادی را در metamask تعیین می کنند. با این حال، گاهی اوقات متاماسک اشتباه می کند و قیمت بنزین را بسیار پایین می آورد. اگر اجرای یک مبادله بیش از 20 دقیقه طول بکشد، قرارداد اصلی اجازه انجام آن را نخواهد داد.

اقدام به ذخیره فعال نیاز دارد

استثناء VM هنگام پردازش تراکنش: اقدام به ذخیره فعال نیاز دارد

این به طور بالقوه یک اشکال ganache است که هنگام کار بر روی تعویض فلش با آن مواجه می‌شوید. ما هنوز منبع آن را کشف نکرده ایم.

قادر به تایید تراکنش در فرانت اند نیست

شرایط نادری وجود دارد که کاربران نتوانند توکنی را در قسمت جلویی Uniswap تأیید کنند.

این نتیجه برخی از قراردادهای توکن است که برای دفاع در برابر قراردادهای مخربی که تلاش می‌کنند تائیدیه‌های اجرا شده را جلوی خود گرفته و توکن‌های کاربران را سرقت کنند، گام برمی‌دارند. این تنها زمانی اتفاق می‌افتد که کاربر تلاش می‌کند کمک هزینه تایید را از مبلغی که از قبل تخصیص داده شده به مبلغی بزرگ‌تر افزایش دهد و تنها با چند قرارداد توکن اتفاق می‌افتد.

راه حل این است که کاربر به صورت دستی مبلغ تایید قرارداد روتر را صفر و سپس به عدد مورد نظر خود تنظیم کند. ساده ترین راه برای انجام این کار از طریق Etherscan است.

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : نازنین فراهانی بازدید : 54 تاريخ : چهارشنبه 17 خرداد 1402 ساعت: 0:49