سطح دسترسی(Visibility) در سالیدیتی (solidity)
سطح دسترسی(visibility) در سالیدیتی به این صورت است که هنگام نوشتن یک قرارداد هوشمند، یک برنامه نویس می تواند کنترل کند که چه کسی یا چه کسی می تواند توابع یا متغیرهای حالت را با تعیین قابلیت مشاهده، فراخوانی کند. این به شخص اجازه می دهد تا بخش های خاصی از قرارداد را بدون نیاز به نوشتن منطق سفارشی ایمن کند.
چندین نوع فراخوان برای یک تابع وجود دارد:
- سایر توابع در خود قرارداد می توانند تابع را فراخوانی کنند.
- قرارداد دیگر که یک تابع را از یک قرارداد به ارث می برد.
- شخص ثالث می تواند تابع را فراخوانی کند. به عنوان مثال قرارداد دیگر، شخصی که از Web3 استفاده می کند و …
انواع سطح دسترسی(visibility) در سالیدیتی
- خصوصی(Private) – یک تابع/متغیر وضعیت خصوصی فقط در قراردادی که آن را تعریف می کند موجود است. به طور کلی عمل خوبی است که توابع را خصوصی نگه دارید.
- داخلی(Internal)- یک تابع/ متغیر وضعیت داخلی فقط در داخل قراردادی موجود است که آن را تعریف میکند و هر قراردادی که آن را به ارث میبرد.
- خارجی(External) – یک تابع خارجی را فقط می توان توسط مخاطبین خارجی فراخوانی کرد. داخل قراردادی که آن را تعریف می کند قابل مشاهده نیست.
- عمومی(Public) – یک تابع/ متغیر وضعیت عمومی برای هر قرارداد یا شخص ثالثی که بخواهد آن را فراخوانی کند در دسترس است. اگر سطح دسترسی مشخص نشده باشد، به صورت پیشفرض عمومی است.
سطح دسترسی در توابع
سطح دسترسی یک تابع قرارداد هوشمند با استفاده از یکی از کلیدواژه های قابل مشاهده لیست شده در بالا (خصوصی(private)، داخلی(Internal)، خارجی(External) یا عمومی(public)) مشخص می شود. سطح دسترسی پس از لیست پارامتر توابع مشخص می شود.
contract sampleContract {
function myFunction () visibilityGoesHere {
//do something
}
}
سطح دسترسی متغیرهای حالت
سطح دسترسی متغیرهای وضعیت قرارداد هوشمند با استفاده از یکی از کلیدواژههای قابل مشاهده فهرست شده در بالا (خصوصی، داخلی یا عمومی) مشخص میشود. متغیرهای حالت خارجی وجود ندارند زیرا منطقی نیست که یک قرارداد یک متغیر را در زنجیره بلوک ذخیره کند و آن را برای قراردادی که آن را ایجاد کرده قابل مشاهده نباشد. دید بعد از نوع داده مشخص می شود.
contract sampleContract {
uint public data;
//do something
}
}
در صورتی که تجربه خاصی در خصوص برنامهنویسی ندارید میتوانید از دورههای رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دورههای پیشرفتهتری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.
نقشه راه
راهنما آکادمی فرازمان
برای یادگیری برنامه نویسی بلاکچین…
در این باره بیشتر بخوانید
دیدگاهتان را بنویسید