انواع توابع در سالیدیتی

ژوئیه 08, 2024 7 mins read

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

تابع قابل پرداخت (payable) در سالیدیتی چیست؟

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

پیشنهاد مطالعه: آموزش رایگان سالیدیتی

یک مثال از این فرض اینکه شما یک تابع ()receive با اصلاح کننده قابل پرداخت دارید، به این معنی که این تابع می تواند در قرارداد پول دریافت کند و حالا تصور کنید که یک تابع send() بدون تغییر دهنده قابل پرداخت وجود داشته باشد، وقتی شما تراکنش را رد می کند. می خواهید از قرارداد پول بفرستید.

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

توجه داشته باشید که در اینجا نام تابع “noname” است و قابل پرداخت نیست، قابل پرداخت اصلاح کننده است.

image-70.png

 

Image NewsLetter
Icon primary
Newsletter

در خبرنامه آرتا رسانه عضو شوید

با آخرین اخبار و تخفیف های ما آگاه شوید