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

سازنده(Constructor) در قراردادهای هوشمند سالیدیتی(solidity) یک تابع ویژه است که برای مقداردهی اولیه متغیرهای حالت در یک قرارداد استفاده می شود. سازنده هنگام ایجاد قرارداد برای اولین بار فراخوانی می شود و می توان از آن برای تنظیم مقادیر اولیه استفاده کرد. یک تابع ویژه است که برای مقداردهی اولیه متغیرهای حالت در یک قرارداد استفاده می شود.
سازنده هنگام ایجاد قرارداد برای اولین بار فراخوانی می شود و می توان از آن برای تنظیم مقادیر اولیه استفاده کرد.یک تابع ویژه است که برای مقداردهی اولیه متغیرهای حالت در یک قرارداد استفاده می شود. سازنده هنگام ایجاد قرارداد برای اولین بار فراخوانی می شود و می توان از آن برای تنظیم مقادیر اولیه استفاده کرد.
- سازنده ها یک تابع اختیاری هستند.
- در صورتی که سازنده تعریف نشده باشد، سازنده پیش فرض در قرارداد وجود دارد.
- سازنده یک بار زمانی که قرارداد برای اولین بار ایجاد می شود اجرا می شود و دوباره اجرا نمی شود.
- یک سازنده می تواند عمومی یا داخلی باشد.
زمان استفاده از سازنده
هنگامی که یک قرارداد در زنجیره بلوک ایجاد می شود، می توانید از سازنده برای تنظیم متغیرهای حالت استفاده کنید. به عنوان مثال هنگام استقرار قرارداد خود می توانید تنظیم کنید:
- مالک قرارداد – می توانید آدرس مالک را در زمان ایجاد تنظیم کنید
- حداکثر مقدار – حداکثر مقدار یک توکن را تنظیم کنید
- مقادیر درست یا نادرست
- هر پارامتری که می خواهید ذخیره کنید
- و غیره.
اگر تابعی را برای تغییر متغیر حالت اجرا نکنید، تا زمانی که زنجیره بلوک در حال اجرا است، باقی خواهد ماند. بنابراین استفاده از سازنده راهی برای تنظیم یک متغیر حالت است که نمی خواهید تغییر دهید.
نحوه ایجاد یک سازنده در Solidity
یک سازنده با استفاده از کلمه کلیدی سازنده اعلام می شود. این توابع می توانند عمومی یا داخلی باشند. اگر سازنده مشخص نشده باشد، قرارداد سازنده پیش فرض را در نظر می گیرد که معادل ()constructor{} publicاست. سازنده زمانی اجرا می شود که قرارداد روی بلاک چین ایجاد شود.
pragma solidity ^0.8.0;
contract A {
uint public a;
//when creating this contract _a is passed in a a parameter
//and sets the variable a
constructor(uint _a) internal {
a = _a;
}
}
سازنده ای که به عنوان داخلی مشخص شده است باعث می شود قرارداد به عنوان انتزاعی علامت گذاری شود. قراردادهایی که بهعنوان انتزاعی شناسایی میشوند زمانی اتفاق میافتند که حداقل یکی از عملکردهای آنها فاقد پیادهسازی باشد. قراردادهای انتزاعی به عنوان قرارداد پایه استفاده می شوند. یک قرارداد انتزاعی شامل توابع اجرا شده و همچنین انتزاعی است.
به عنوان مثال می توان از سازنده برای تنظیم مالک قرارداد استفاده کرد. برای اطلاعات بیشتر اسناد را مطالعه کنید. مثال زیر را ببینید:
uint public x;
uint public y;
address public owner;
uint public createdAt;
//use the constructor below to set variables at time of deployment
//pass in a value for x and y into the constructor to set the state variable
//the owner of the contract is the msg.sender (the contract creator)
//the createdAt state variable will contain the block time stamp at when the constructor was created
Constructor (uint _x, uint _y) public {
x=_x;
y=_y;
owner = msg.sender;
createdAt = block.timestamp;

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