آنچه در این مقاله میخوانید [پنهانسازی]
در زبان برنامه نویسی سالیدیتی، دو نوع تابع وجود دارد که با کلمات کلیدی view و pure مشخص میشوند. این دو نوع تابع برای کار با وضعیت قراردادها و دادهها در بلاکچین استفاده میشوند. در ادامه تفاوتهای اصلی تفاوت view و pure در سالیدیتی را بررسی میکنیم:
سرفصل های مقاله
۱. توابع view
-
تعریف: توابعی که با کلمه کلیدی view مشخص میشوند، میتوانند به حالت قرارداد دسترسی پیدا کنند اما نمیتوانند وضعیت دائمی قرارداد را تغییر دهند.
-
ویژگیها:
- میتوانند خواندن متغیرهای وضعیت (state variables) را انجام دهند.
- نمیتوانند تراکنشهایی را که وضعیت را تغییر میدهند، اجرا کنند.
- معمولاً برای دریافت اطلاعات از قرارداد استفاده میشوند.
۲. توابع pure
-
تعریف: توابعی که با کلمه کلیدی pure مشخص میشوند، نه فقط به حالت قرارداد دسترسی ندارند، بلکه هیچ دادهای را از آن استخراج نمیکنند و فقط روی ورودیهای خود کار میکنند.
-
ویژگیها:
- نمیتوانند هیچگونه تغییری در وضعیت قرارداد اعمال کنند.
- نمیتوانند به متغیرهای وضعیت یا حتی به متغیرهای محلی قرارداد دسترسی پیدا کنند.
- معمولاً برای انجام محاسبات ریاضی و عملیات خالص استفاده میشوند.
نتیجه گیری
به طور خلاصه:
- توابع view میتوانند به دادههای قرارداد دسترسی داشته باشند اما نمیتوانند وضعیت آن را تغییر دهند.
- توابع pure هیچگونه دسترسی به وضعیت قرارداد ندارند و فقط روی ورودیهای خود کار میکنند.
یادگیری تفاوت view و pure سالیدیتی به شما کمک میکند تا منطق قراردادهای هوشمند خود را به درستی پیاده سازی کنید و عملکرد آنها را بهینه کنید.






