جستجو برای:
سبد خرید 0
  • آخرین دوره های آموزشی
  • درخواست پروژه
  • مقالات بلاکچین
  • تماس با ما

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

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

  • 09395149363
  • info@fara-zaman.ir
  • لیست علاقه مندی ها
0
فرازمان | آکادمی بلاکچین
  • آخرین دوره های آموزشیداغ
  • درخواست پروژه
  • مقالات بلاکچینجدید
  • تماس با ما
آخرین اطلاعیه ها
جهت نمایش اطلاعیه باید وارد سایت شوید
شروع کنید

وبلاگ

فرازمان | آکادمی بلاکچیناخبارآموزش برنامه نویسی سالیدیتیبررسی رفتار توابع View و Pure در سالیدیتی(solidity)

بررسی رفتار توابع View و Pure در سالیدیتی(solidity)

8 اردیبهشت 1401
ارسال شده توسط مریم طاهری
آموزش برنامه نویسی سالیدیتی
بررسی رفتار توابع View و Pure در سالیدیتی(solidity)

View و Pure در سالیدیتی

توابع View و Pure و payable در سالیدیتی رفتار توابع را مشخص می کنند. اگر رفتار یک تابع به طور پیش فرض مشخص نشده باشد، این تابع می تواند وضعیت بلاکچین را بخواند و تغییر دهد. توابع مشاهده(view) تابع فقط خواندنی هستند و وضعیت بلاکچین را تغییر نمی دهند (مشاهده داده ها در بلاکچین). توابع خالص(pure) نمی خوانند و وضعیت بلاکچین را تغییر نمی دهند.

تمام داده‌هایی که در تابع pure استفاده می شوند، یا به تابع پاس داده می شوند و یا در محدوده توابع تعریف می‌شوند. توابع قابل پرداخت(payable) مکانیزمی برای دریافت وجوه در قرارداد شما فراهم می کند. توابع قابل پرداخت با کلمه کلیدیpayable تعریف می شوند.

1- توابع مشاهده(view)، توابع فقط خواندنی هستند و وضعیت بلاکچین را تغییر نمی دهند. به عبارت دیگر اگر می خواهید داده ها را از بلاکچین بخوانید می توانید از view استفاده کنید. متد دریافت کننده به طور پیش فرض توابع view هستند. این توابع در موارد زیر استفاده نمی شوند:

  • برای نوشتن متغیرهای حالت- به روز رسانی بلاکچین
  • انتشار eventها
  • ایجاد یک قرارداد و یا تخریب آن(self destruct)
  • ارسال اتر
				
					pragma solidity ^0.7.0;

contract viewSample {

    //view is specified and function reads data from block chain
    function getBlock() public view returns (uint){
        uint blocknumber = block.number;
        return blocknumber;
    }    
}
				
			

2- توابع خالص(pure) محدودتر از توابع view هستند و حالت را تغییر نمی دهند و وضعیت بلاکچین  را نمی خوانند. این توابع در موارد زیر استفاده نمی شوند:

  • خواندن متغیرهای حالت – خواندن از بلاکچین
  • دسترسی به موجودی ها
  • توابع call نمی توانند از نوع pure باشند
				
					pragma solidity ^0.7.0;

contract pureSample {

   //pure is specified
   //this functions is only concerned about the variables and arithmetic in this function
   function getResult() public pure returns(uint sum){
      uint a = 5; 
      uint b = 7;
      sum = a + b; 
   }
}
				
			

مقایسه توابع pure و view

 DEFAULT
(NOT SPECIFIED IN FUNCTION)
VIEWPURE
Ideal Forتراکنش هایی که داده ها را در بلاکچین  تغییر می دهندتوابع دریافت کننده برای مشاهده داده ها در بلاکچین در محدوده عملکرد تعریف شده است و داده ها را در بلاکچین  تغییر نمی دهد یا مشاهده نمی کند
Data Accessread / writereadNone
Transaction TypeSendCallCall
دوره ها و آموزش های فرازمان

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

نقشه راه

راهنما آکادمی فرازمان

برای یادگیری برنامه نویسی بلاکچین…

دوره مفاهیم پایه برنامه نویسی
دوره جامع جاوا اسکریپت و جی کوئری
آموزش برنامه نویسی سالیدیتی
دوره جامع html/css/bootstap
آموزش پیشرفته برنامه نویسی بلاکچین
آموزش Whitepaper نویسی برای پروژه های بلاکچینی

در این باره بیشتر بخوانید

سطح دسترسی(Visibility) در سالیدیتی

توابع(Function) در سالیدیتی(Solidity)

متغیرها در سالیدیتی(solidity)

سازنده(Constructor) در قراردادهای هوشمند سالیدیتی(solidity)

انواع داده در سالیدیتی (solidity)

برچسب ها: توابعآموزش برنامه نویسی سالیدیتیآموزش بلاکچینآموزش سالیدیتیتوابع View و Pure در سالیدیتیتوابع در سالیدیتیسالیدیتیقرارداد هوشمند
جدیدتر سطح دسترسی(Visibility) در سالیدیتی (solidity)
قبلی توابع modifiers در سالیدیتی(solidity)

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
برچسب‌ها
function nft آموزش برنامه نویسی سالیدیتی آموزش بلاکچین آموزش سالیدیتی اتریوم اخبار بازی اخبار رمز ارز اخبار کریپتو امنیت قرارداد هوشمند ان اف تی اکتیویژن ایلان ماسک بازی بلاکچین برنامه نویسی بلاک چین برنامه نویسی سالیدیتی بلاک چین بیتکوین بیت کوین تحلیل بیت کوین تسلا توابع توابع در سالیدیتی جاوا اسکریپت حسابرسی در قرارداد هوشمند خبر بلاکچین دسنترالند دوج کوین رمزارز سالیدیتی سرمایه گذاری سندباکس قرارداد هوشمند مایکروسافت متاورس مقاله بلاکچین مقاله کریپتویی موزیلا نمونه قرارداد هوشمند سالیدیتی وب3 پی پال کریپتو کسب درامد کیف پول اتریوم کیف پول بلاکچین
  • محبوب
  • جدید
  • دیدگاه ها
دسته‌ها
  • آموزش برنامه نویسی سالیدیتی
  • اتریوم
  • اخبار NFT
  • اخبار متاورس
  • امور مالی غیرمتمرکز
  • برنامه نویسی سالیدیتی
  • بیت کوین
  • سولانا
  • صرافی غیرمتمرکز
  • قرارداد هوشمند
  • کریپتو
  • کیف پول ارز دیجیتال
  • مقالات بلاکچین
  • مقاله
  • نمونه قراردادهای هوشمند سالیدیتی
 فـرا زمان با بهره گیری از دانش روز دنیا و توانایی در آموزش، مشاوره و پیاده سازی انواع پروژه های بلاکچینی پا به عرصه ی رقابت گذاشته و هر روز به گروه و تخصص خود می افزاید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
  • ساری، ابتدای خیابان 15 خرداد،مجتمع بهار،طبقه اول
  • 09395149363
  • info@fara-zaman.ir
خبرنامه

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

نماد ها

logo-samandehi
© 1400. آکادمی فرازمان - طراحی فرازمان
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://fara-zaman.ir/?p=10528
دسته بندی دوره ها
دوره های من
دسته بندی دوره ها

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

برنامه نویسی اتریوم (سالیدیتی)

  • 4 محصول

کلاس مجازی

  • 1 دوره
دوره های من
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Twitter Youtube Instagram
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

گروه تخصصی برنامه نویسی
  • 09395149363
  • پشتیبانی آنلاین
  • 09395149363