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

ورود

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

ثبت نام

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

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

وبلاگ

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

توابع modifiers در سالیدیتی(solidity)

10 اردیبهشت 1401
ارسال شده توسط مریم طاهری
آموزش برنامه نویسی سالیدیتی
توابع modifiers در سالیدیتی(solidity)

توابع modifiers در سالیدیتی(solidity) برای تغییر یا محدود کردن رفتار یک تابع در یک قرارداد هوشمند استفاده می شود. می توانید از یک اصلاح کننده یا modifiers برای بررسی خودکار یک شرط قبل از اجرای عملکرد استفاده کنید. به عنوان مثال، قبل از اجرای یک تابع، می‌توانید موجودی یک حساب را بررسی کنید، تأیید کنید که فرستنده مالک است، نیاز به دسترسی به یک حساب دارید، و غیره. اصلاح‌کننده‌ها بلوک‌های کد قابل استفاده مجدد هستند که می‌توانند به یک یا چند تابع در قرارداد شما متصل شوند.

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

modifiers در سالیدیتی

توابع اصلاح کننده (modifire) را می توان برای موارد استفاده مختلف ایجاد کرد. این اصلاح کننده ها را می توان قبل یا بعد از اجرای کدهای تابع اجرا کرد.

“;_” یک کد ویژه است که فقط در تابع modifiers استفاده می شود و کد به solidity دستور می دهد تا کد را در تابع اجرا کند. این یک علامت ادغام است که با ادغام منبع تابع با کد اصلاح کننده در “;_” نشان می دهد که “بقیه” کد تابع کجا باید برود.  به عبارت ساده تر می توانید:

  • تابع modifiers و سپس تابع اصلی را اجرا کنید

یا

  • تابع اصلی و سپس تابع modifiers را اجرا کنید.

ساختار اصلی توابع modifiers در سالیدیتی(solidity)

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

مثال از تابع modifiers در سالیدیتی

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

در مثال زیر، قرارداد تابع اصلاح کننده  onlyOwner را تعریف می کند و از آن در یک تابع استفاده می کند.

				
					//the modifier "onlyOwner" can be used in a function
//if it is called it will evaluate if the entity executing the function is the owner of the contract
//If not the function will not run and "Not Owner" will print
//if it is the owner then the function will execute
modifier onlyOwner() {
         require(msg.sender == owner, “Not Owner’);
         _;
				
			

در مثال زیر، قرارداد، تابع اصلاح کننده  onlyOwner را تعریف می کند و از آن در یک تابع استفاده می کند. اگر فراخوان دهنده تابع مالک قراداد نباشد، تابع اجرا نمی شود و پیام “Not Owner” در گزارش چاپ می شود. این کد را در ریمیکس امتحان کنید.

				
					//define which compiler to use
pragma solidity ^0.7.0;

//contract name is MyFirstContract
contract MyFirstContract {

//create two variables.  A sting and an address

    address owner;
    string private name;

//constructor sets the creator of the contract to the owner variable
   constructor() {
      owner = msg.sender;
   }
    

//modifier checks that the caller of the function is the owner
    modifier onlyOwner() {
         require(msg.sender == owner, 'Not Owner');
         _;
    }

//set name.  Only the owner of the contract can call because a modifier is specified
    function setName(string memory newName) public onlyOwner{
        name = newName;
    }

//get the name
    function getName () public view returns (string memory) {
        return name;
    }
    

}
				
			

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

مثال با پارامتر

				
					//this modifier can be reused and called in a function
//this modifier allows the address parameter to be passed to it
Modifier validAddress(address _addr) {
         Require(_addr != address(0), “Not a valid address”);
         _;
				
			

این کد فقط برای اهداف آموزشی است. کد اعتبارسنجی نشده است و با مسئولیت خود استفاده کنید. به یاد داشته باشید که قراردادهای هوشمند آزمایشی هستند و ممکن است حاوی اشکال باشند.

دوره ها و آموزش های فرازمان

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

نقشه راه

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

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

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

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

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

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

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

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

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

برچسب ها: توابعfunctionFunction modifiers in Solidityتوابع modifiersتوابع modifiers در سالیدیتی
جدیدتر بررسی رفتار توابع View و Pure در سالیدیتی(solidity)
قبلی گس - gas در سالیدیتی(solidity)

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

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

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

نماد ها

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

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

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

  • 4 محصول

کلاس مجازی

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

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

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