10 خطای معامله اتریوم برتر و نحوه جلوگیری از آنها

ساخت وبلاگ

Louis Thibault

فناوری blockchain به کاربران این آزادی را می دهد که به روشهایی که قبلاً نتوانسته اند نتوانسته اند معامله کنند. Web3 به جای معاملات سفت و سخت که در دنیای رسمی مالی انتظار می رود ، امکان دسترسی به معاملات قابل برنامه ریزی را از طریق قراردادهای هوشمند فراهم می کند.

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

برای کاهش اصطکاک کاربر ، یک DAPP یا کیف پول موفق باید مراحل مختلفی را در چرخه عمر معامله تا حد امکان شفاف و دقیق انجام دهد. این امر به کاربران امکان می دهد تا معامله خود را به طور دقیق تنظیم کرده و پیشرفت آن را از طریق Mempool نظارت کنند تا قبل از نهایی شدن هرگونه مسئله احتمالی را تشخیص دهند. ارکستراسیون معاملات موفق منجر به رشد یک پایگاه کاربر برای پروژه Web3 و اکوسیستم Crypto به عنوان یک کل به عنوان یک مالی غیر متمرکز می شود. علاوه بر این ، کاهش تعداد معاملات گیر ، کاهش یا شکست خورده به طور کلی معیارهایی را که به آنها اهمیت می دهید افزایش می دهد ، از جمله حجم یا TVL برای پروتکل شما.

مؤلفه های معامله اتریوم

برای درک بهتر خطاهای معاملات متداول در اتریوم ، ابتدا باید مؤلفه های مختلفی را که شامل یک معامله هستند ، درک کنید. این مؤلفه ها به طور مستقیم بر احتمال معامله به سرعت تأیید می شوند یا خیر.

کلیه معاملات اتریوم شامل موارد زیر خواهد بود:

NONCE: معامله غیرقانونی نظمی را که در آن معاملات از یک حساب کاربری (آدرس اتریوم) باید اجرا شود ، دیکته می کند. هر حساب با غیرقانونی 0 شروع می شود و هر بار که کاربر معامله ارسال می کند ، 1 افزایش می یابد. از اهمیت ویژه ای برخوردار است ، هنگامی که شما چندین معاملات در انتظار دارید ، آنها به ترتیب غیرقانونی آنها تأیید می شوند. اگر معامله غیر غیرقانونی پایین گیر شود یا کاهش یابد ، معاملات غیر CE بالاتر شما نمی تواند تأیید کند.

BASEFEE (معاملات Type2): این هزینه گاز توسط خود شبکه تعیین می شود. بسته به اینکه بلوک جدید چقدر کامل است ، هزینه پایه به طور خودکار افزایش می یابد یا کاهش می یابد.

MaxPriorityFee (معاملات Type2): همچنین به عنوان نکته معدنکار شناخته می شود ، این هزینه توسط کاربر تعیین می شود و مستقیماً به معدنچیان پرداخت می شود. Blocknative تخمین های اولویت پیشرو در صنعت را در پسوند مرورگر ما فراهم می کند.

MaxFeepergas (معاملات Type2): حداکثر مطلق شما مایل به پرداخت هر واحد گاز برای دریافت معامله در یک بلوک هستید. هر گاز باقیمانده به کیف پول شما بازپرداخت می شود.

Gaslimit: حداکثر مقدار گاز معامله مجاز به مصرف است.

به: آدرس که شما در حال انجام معامله هستید.

ارزش: کل ETH که می خواهید ارسال کنید. توجه داشته باشید که این زمینه فقط برای ETH است. مبالغ معاملات ERC-20 یا NFT به قسمت ارزش حساب نمی شود.

10 خطای معامله مشترک اتریوم

رایج ترین خطاهای معامله اتریوم عبارتند از:

1. ناشناخته

خطای معاملات ناشناخته اشتباه هنگامی اتفاق می افتد که کاربران سعی می کنند معامله ای را که قبلاً ارسال شده بود ، دوباره ارسال کنند و اکنون در Mempool ساکن هستند.

اگر "ناشناخته" دریافت کرده اید ، به طور کلی نیازی به انجام کاری ندارید. اگر در معامله اصلی اشتباه کردید ، ممکن است بخواهید جایگزینی را ارسال کنید (یعنی معامله "سرعت" یا "لغو").

2. errinvalidsender

خطای معامله errinvalidsender هنگامی اتفاق می افتد که امضا از آدرس ارسال شده از معامله نامعتبر باشد.

برای رفع خطای errinvalidsender ، معامله را از آدرس صحیح امضا کرده و سعی کنید دوباره معامله را ارسال کنید.

3. & 4. eroncetoolow & eroncetoohigh

eroncetoolow و eroncetoohigh فریبنده ساده هستند.

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

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

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

اما دقیقاً منظور ما از "ناکافی" و "بیش از حد" در اینجا چیست؟نسبت به چه چیزی کافی و بیش از حد نیست؟اینجاست که همه چیز مودار می شود.

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

بیایید به جدیدترین معامله ای که ارسال کرده اید اشاره کنیم ، و اجازه دهید به معامله ای که در حال حاضر به عنوان T ارسال می کنید مراجعه کنیم. از آنجا که شما یک فرد معقول هستید ، شما مراقبت کرده اید که غیرقانونی را برای t 'افزایش دهید ، بنابراین غیرقانونی (t') = nonce (t) + 1. اما برای ناراحتی شما ، گره اتریوم که شما ارسال می کنید پاسخ می دهدeroncetoohigh. چی شد؟

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

بنابراین ، حتی اگر T از نظر فنی "زنجیره ای" باشد ، برخی از گره ها ممکن است مدتی T را مشاهده نکنند ، شاید حتی چند ثانیه. در سطح قبل از انسجام-به عنوان مثال ، در Mempool-اوضاع حتی بدتر است. هیچ تضمینی قوام وجود ندارد ، به طور نهایی یا در غیر این صورت.

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

حالت های خرابی که باعث ایجاد eroncetoohigh و eroncetoolow می شوند ، چند برابر هستند و در یک مقاله جداگانه تجزیه و تحلیل عمیق را تضمین می کنند.

با این حال ، در عمل ، همیشه مشخص نیست که در مورد آنها چه کاری انجام دهید. eroncetoolow معمولاً با افزایش غیرقانونی قابل اصلاح است (هرچند ، مراقب شکاف غیرقانونی باشید!).

از طرف دیگر Eroncetoohigh مبهم تر است. این اغلب به تنهایی حل می شود ، زیرا معاملات از طریق شبکه پخش می شوند ، اما ممکن است نیاز به کاهش غیرقانونی داشته باشد. Mempool Explorer و پلت فرم شبیه سازی Blocknative می تواند به شما در تشخیص مسئله کمک کند.

5. با ارزش

ErrunderPriced زمانی اتفاق می افتد که قیمت گاز معامله زیر حداقل مبلغی باشد که گره برای پذیرش آن پیکربندی شده است.

برای رفع این خطا ، قیمت گاز برای معامله را افزایش داده و دوباره امتحان کنید. یک احتیاط کوچک: برای جلوگیری از انکار سرویس به دلیل جنگهای مناقصه ، گره های اتریوم به چنین "معاملات جایگزینی" نیاز دارند تا قیمت گاز را با حداقل مقدار ، به طور معمول 10 ٪ افزایش دهند.

6. errreplacerpriced

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

برای حل و فصل errreplaceondpry ، افزایش قیمت گاز یا maxpriorityfee از معامله جایگزینی ، به گونه ای که ارزش کل آنها با حداقل افزایش ، به طور معمول 10 ٪ از معامله اصلی فراتر می رود.

7. errinsuffundfunds

خطای errinsuffinfunds یک خرابی متداول در معاملات اتریوم است که در هنگام ارسال کیف پول ارسال می شود وجوه کافی (ETH) برای پوشش حداکثر بنزین معامله می تواند به علاوه هر صندوق ETH که مستقیماً در معامله ارسال می شود ، داشته باشد.

برای رفع خطای کافی ، یا بودجه بیشتری را به کیف پول اضافه کنید ، یا تنظیمات گاز و/یا مقدار منتقل شده را کاهش دهید تا اینکه معامله در صندوق های موجود کیف پول قرار گیرد.

8. errintrinsicgas

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

برای رفع خطای errintrinsicgas ، حد گاز معامله را افزایش داده و دوباره معامله را ارسال کنید.

9. EregativeValue

خطای EregativeValue هنگام تلاش برای ارسال مقدار منفی وجوه رخ می دهد. آیا نیاز داریم بیشتر بگوییم؟

10. ervrosizedData

erroversizedData هنگامی اتفاق می افتد که اندازه داده های ورودی منجر به معامله ای شود که اندازه کل آن بالاتر از 128 کیلوبایت است. این خرابی معامله در اثر خطای اجماع ایجاد نمی شود بلکه به عنوان اقدامی برای محافظت از شبکه در برابر حملات انکار سرویس (DOS) اجرا می شود.

برای رفع خطای erroversizedData ، اندازه ورودی خود را کاهش داده و اطمینان حاصل کنید که اندازه کل معامله از 128 کیلوبایت تجاوز نمی کند.

آیا ETH خود را از یک معامله ناموفق پس می گیرم؟

در صورت عدم موفقیت معامله ، ETH در قسمت ارزش معامله در دسترس مبدأ باقی می ماند و ارسال یا مصرف نمی شود

آیا من گاز خود را از معامله ناموفق برگردانم؟

هر عملیاتی که توسط دستگاه مجازی Ethereum (EVM) انجام می شود ، مقداری گاز مصرف می کند. با وجود عدم موفقیت معامله ، هنوز هم از قدرت محاسباتی برای تعیین این تصمیم استفاده می شد ، بنابراین شما هنوز هم برای نتیجه ناکام ، مقداری بنزین پرداخت خواهید کرد.

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

شکاف های غیرقانونی و خطاهای معامله

برای تأیید معامله اتریوم ، ارزش غیر CET آن باید بیش از ارزش غیرقانونی آخرین معامله تأیید شده برای حساب داده شده باشد. به عنوان مثال ، اگر آخرین معامله تأیید شده در یک حساب دارای ارزش غیر CECE 3 باشد ، تا زمانی که معامله ای با ارزش غیر CECE 4 تأیید شود ، نمی توان معامله ای با ارزش 5 را پذیرفت.

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

این امر به این دلیل است که زمان احتقان شدید شبکه می تواند منجر به معاملات کم ارزش از Mempools شود. از آنجا که معاملات کاهش یافته به تنهایی قادر به بازگشت به Mempool نیستند ، آنها نمی توانند شکاف غیرقانونی معامله را محدود کنند ، و از تکمیل معاملات جدید تا زمان برطرف شدن شکاف غیر CE جلوگیری می کنند.

نحوه رفع شکافهای غیرقانونی

برای رفع خطاهای ناشی از معاملات کاهش یافته و شکاف های غیرقانونی ، کاربران باید:

  1. اولین معامله مفقود شده را در شکاف غیر CE مشخص کنید.
  2. معامله جایگزینی را با همان ارزش غیر CE (و به اندازه کافی گاز برای جلوگیری از گیر کردن آن) ارسال کنید. معامله جایگزینی که از طریق Mempool حرکت می کند.
  3. مراحل 1-4 را تکرار کنید تا تمام معاملات گیر افتاده جایگزین و تأیید شود.

از داده های Mempool برای نتایج قابل اندازه گیری استفاده کنید

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

برای رشد کاربران فعال و موفقیت در این صنعت رقابتی ، ادغام داده های Mempool و API های نظارت بر معامله یکی از مهمترین ابزارهای توسعه دهنده blockchain است که می توانید به پشته فناوری Web3 خود اضافه کنید.

ادغام جریان داده های رویداد Mempool Transaction در زمان تلاش های مهندسی شما یک فرآیند ساده و یکپارچه با API های مسدود کننده مانند Mempool Explorer ، اطلاع رسانی و داده های گاز در زمان واقعی با API پلت فرم گاز است. ادغام این ابزارها در پروژه های شما می تواند به کاربران کمک کند تا قبل از تبدیل شدن به مشکلات سیستمیک ، خطاهای معامله مشترک اتریوم را شناسایی و کاهش دهند.

برای اطلاعات بیشتر ، در توییتر با ما همراه باشید و در Discord به جامعه ما بپیوندید!

امروز مستر Mempool.

زیرساخت های اثبات شده و قدرتمند Blocknative ، کار با سازندگان و بازرگانان را با داده های Mempool آسان می کند.

فارکس را از کجا شروع کنیم...
ما را در سایت فارکس را از کجا شروع کنیم دنبال می کنید

برچسب : نویسنده : علیرضا خمسه بازدید : 57 تاريخ : چهارشنبه 2 فروردين 1402 ساعت: 22:39