آنچه در این مقاله می‌خوانید [پنهان‌سازی]

در زبان برنامه‌ نویسی سالیدیتی، دو نوع تابع وجود دارد که با کلمات کلیدی view و pure مشخص می‌شوند. این دو نوع تابع برای کار با وضعیت قراردادها و داده‌ها در بلاکچین استفاده می‌شوند. در ادامه تفاوت‌های اصلی تفاوت view و pure در سالیدیتی را بررسی می‌کنیم:

۱. توابع view

  • تعریف: توابعی که با کلمه کلیدی view مشخص می‌شوند، می‌توانند به حالت قرارداد دسترسی پیدا کنند اما نمی‌توانند وضعیت دائمی قرارداد را تغییر دهند.

  • ویژگی‌ها:

    • می‌توانند خواندن متغیرهای وضعیت (state variables) را انجام دهند.
    • نمی‌توانند تراکنش‌هایی را که وضعیت را تغییر می‌دهند، اجرا کنند.
    • معمولاً برای دریافت اطلاعات از قرارداد استفاده می‌شوند.

۲. توابع pure

  • تعریف: توابعی که با کلمه کلیدی pure مشخص می‌شوند، نه فقط به حالت قرارداد دسترسی ندارند، بلکه هیچ داده‌ای را از آن استخراج نمی‌کنند و فقط روی ورودی‌های خود کار می‌کنند.

  • ویژگی‌ها:

    • نمی‌توانند هیچگونه تغییری در وضعیت قرارداد اعمال کنند.
    • نمی‌توانند به متغیرهای وضعیت یا حتی به متغیرهای محلی قرارداد دسترسی پیدا کنند.
    • معمولاً برای انجام محاسبات ریاضی و عملیات خالص استفاده می‌شوند.

آموزش جامع سالیدیتی + 5 پروژه عملی

نتیجه‌ گیری

به طور خلاصه:

  • توابع view می‌توانند به داده‌های قرارداد دسترسی داشته باشند اما نمی‌توانند وضعیت آن را تغییر دهند.
  • توابع pure هیچ‌گونه دسترسی به وضعیت قرارداد ندارند و فقط روی ورودی‌های خود کار می‌کنند.

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