وبلاگ

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

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

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

ساختار در برنامه نویسی سالیدیتی، انواع داده های سفارشی هستند که می توانند چندین متغیر را گروه بندی کنند آنها نشان دهنده سابقه “چیزی” هستند. فرض کنید می خواهید فهرستی از «کارها» را نگه دارید و باید بدانید که آیا آنها تکمیل شده اند یا خیر.​Solidity راهی برای تعریف انواع جدید در قالب ساختار ارائه می دهد.ساختارها برای نمایش شی یا کلاس ها، رابط و کلاس ها در تایپ اسکریپ استفاده می شوند.

فرض کنید می خواهید داده های کارمندان را در بلوک اتریوم ذخیره کنید و کارمند شامل شناسه، نام و جزئیات حقوق و دستمزد باشد. به عنوان مثال، در قراردادها، سه متغیر را به شکل زیر تعریف کنید.

   uint id;
   string name;
   uint salary;

اگر می‌خواهید این داده‌ها را برای قرارداد هوشمند ذخیره کنید، یک تابع بنویسید و سه آرگومان را برای عملکرد ارسال کنید و داده‌ها را ذخیره کنید، دوباره داده‌ها از تابع با سه متغیر برگردانده می‌شوند.ساختارها با گروه بندی چندین نوع داده در یک نام واحد این مشکل را حل می کنند.

آموزش سالیدیتی برنامه نویسی قرارداد هوشمند Smart contracts

زبان برنامه نویسی سالیدیتی چیست ؟

سالیدیتی (solidity) یک زبان برنامه نویسی شی گرا برای پیاده سازی قراردادهای هوشمند در پلتفرم های مختلف بلاک چین، به ویژه اتریوم است که توسط گوین وود، کریستین ریتویسنر، یوئیچی هیرای و الکساندار برگساسی توسعه داده شده است . برنامه های سالیدیتی روی ماشین مجازی اتریوم اجرا می شوند.

سالیدیتی در آگوست 2014 توسط گاوین وود (توسعه دهنده ارز دیجیتال پولکادات) پیشنهاد شد و پس از مدتی توسط تیم سالیدیتی پروژه اتریوم به رهبری کریستین ریتویسنر توسعه یافت. سالیدیتی زبان اصلی بلاکچین اتریوم و همچنین سایر بلاکچین‌های خصوصی در پلتفرم‌هایی مانند بلاک چین هایپرلجر (Hyperledger) است که با اتریوم رقابت می‌کنند .

مشاهده  اصلاح کننده توابع در سالیدیتی
ساختار در برنامه نویسی سالیدیتی
ساختار در برنامه نویسی قرارداد هوشمند سالیدیتی

همان طور که قبلا اشاره شد ، سالیدیتی یک زبان برنامه نویسی شی گراست و برنامه نویسی شی گرا(OOP)  یک پارادایم برنامه نویسی مبتنی بر مفهوم “اشیاء” است که می تواند شامل داده ها و کد باشد: داده ها به شکل فیلدها که اغلب به عنوان ویژگی ها شناخته می شوند و کد به شکل رویه ها که عموماً به عنوان روش شناخته می شود.سالیدیتی در حال حاضر در شبکه های اتریوم ، بایننس اسمارتچین ، اتریوم کلاسیک ، آوالانچ و ترون در دسترس است .

به غیر سالیدیتی ، پرکاربردترین زبان های برنامه نویسی مانند C++، جاوا و پایتون چند پارادایم هستند که برنامه نویسی شی گرا را تا حد زیادی پشتیبانی می کنند . در این متد داده‌ها و توابعی که بر روی این داده‌ها اعمال میشوند، در صورت امکان در قالبی به نام شیء و در کنار یکدیگر قرار گرفته و با پردازش یک واحد را تشکیل می‌دهند و نسبت به محیط بیرون خود، کپسوله (مخفی سازی ساختار داده ها) می‌شوند. از این طریق، توابع خارج از آن شیء، امکان ایجاد تغییر در داده‌های درون شیء را نخواهند داشت.

ساختار زبان برنامه نویسی سالیدیتی

سالیدیتی یک زبان برنامه نویسی از نوع ایستا است که برای توسعه قراردادهای هوشمند که روی ماشین مجازی اتریوم اجرا می شوند، طراحی شده است. این زبان تا حدودی شبیه اکما اسکریپت (ECMAScript) است که برای استانداردسازی جاوا اسکریپت ایجاد شده‌است و آن را برای توسعه دهندگان وب موجود آشنا می کند .

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

مشاهده  آموزش نصب ترافل (Truffle)
ساختار در برنامه نویسی سالیدیتی
ساختار زبان برنامه نویسی سالیدیتی

تعریف ساختار در برنامه نویسی سالیدیتی

از ساختار برای تعریف یک نوع سفارشی جدید برای گروه بندی فیلدهای چندگانه استفاده می شود.در قسمت زیر یک مثال برای ساختار تعریف شده در برنامه نویسی سالیدیتی آورده شده است

 struct structname { 
      type variable1;
      type variable2;
      type variable3;

      type variablen;
}

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

در اینجا سه ​​راه وجود دارد که می توانید مقداردهی اولیه خود را انجام دهید.متغیرsample1، آن را با داده های SampleStruct1 پر می کند.به مثال زیر توجه نمایید.

ساختارها همچنین می‌توانند شامل انواع پیچیده‌ تر به عنوان عضو باشند – مانند نگاشت، آرایه یا ساختارهای دیگر، اما ممکن نیست یک ساختار دارای عضوی از نوع خودش باشد

ساختار در Solidity
Solidity Structs

زبان برنامه نویسی Solidity  به کاربر اجازه می دهد تا نوع داده خود را در قالب ساختار ایجاد کند. ساختار شامل گروهی از عناصر با نوع داده متفاوت است که معمولاً برای نمایش رکورد استفاده می شود. برای تعریف ساختار از کلمه کلیدی ساختار استفاده می شود که یک نوع داده جدید ایجاد می کند.

struct <structure_name> {  
   <data type> variable_1;  
   <data type> variable_2; 
}

برای دسترسی به هر عنصر ساختار، از عملگر نقطه استفاده می شود که متغیر ساختار و عنصری را که می خواهیم به آن دسترسی داشته باشیم جدا می کند. برای تعریف متغیر ساختار نوع داده از نام ساختار استفاده می شود.

مثال: در مثال زیر، قرارداد آزمایشی از یک ساختار کتاب تشکیل شده است و توابعی برای تنظیم و دریافت مقادیر عناصر ساختار تعریف شده است.

// Solidity program to demonstrate
// how to use 'structures'
pragma solidity ^0.5.0;

// Creating a contract
contract test {

// Declaring a structure
struct Book {
	string name;
	string writter;
	uint id;
	bool available;
}

// Declaring a structure object
Book book1;

// Assigning values to the fields
// for the structure object book2
Book book2
	= Book("Building Ethereum DApps",
			"Roberto Infante ",
			2, false);

// Defining a function to set values
// for the fields for structure book1
function set_book_detail() public {
	book1 = Book("Introducing Ethereum and Solidity",
				"Chris Dannen",
					1, true);
}


// Defining function to print
// book2 details
function book_info(
)public view returns (
	string memory, string memory, uint, bool) {
		
		return(book2.name, book2.writter,
			book2.id, book2.available);
	}
	
// Defining function to print
// book1 details
function get_details(
) public view returns (string memory, uint) {
	return (book1.name, book1.id);
}
}

خروجی کد ساختار نوشته شده در سالیدیتی

ساختار در برنامه نویسی سالیدیتی
تصویر ساختار در برنامه نویسی سالیدیتی

آموزش زبان برنامه نویسی سالیدیتی

منابع برای یادگیری سالیدیتی در مقایسه با سایر زبان‌ها کمتر است. در واقع، اگر زبان برنامه­‌ای مانند پایتون یا C را می‌­دانید، فهم زبان سالیدیتی برایتان آسان خواهد بود و همچنین این زبان شباهت بسیار زیادی به جاوا اسکریپت دارد. سالیدیتی برای تعداد گسترده‌­ای از مفاهیم زبان‌­نویسی که در دیگر زبان‌­ها وجود دارد، مورد استفاده قرار می­‌گیرد. زبان سالیدیتی با اینکه ظاهر فریبنده و ساده­‌ای دارد، اما سخت‌­تر از آن است که به نظر می­‌آید.

آموزش سالیدیتی برنامه نویسی قرارداد هوشمند آکادمی ماکان

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

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

مشاهده  توسعه قرارداد هوشمند در محیط ریمیکس
منابع:

Solidity – Structs

Solidity – Enums and Structs

Solidity Tutorial: all about Structs

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محبوب ترین دوره ها

برچسب های محبوب

Mapping Solidity Inheritance آموزش برنامه نویسی سالیدیتی آموزش سالیدیتی آموزش قرارداد هوشمند اجزای قرارداد هوشمند ارز دیجیتال اتریوم ارز دیجیتال یونی ارزهای متاورسی الگوریتم اثبات کار الگوریتم اجماع امنیت کیف پول اهمیت قرارداد هوشمند اپلیکیشن متمرکز برنامه نویس سالیدیتی برنامه نویسی اتریوم برنامه نویسی بلاکچین برنامه نویسی ریمیکس برنامه نویسی سالیدیتی برنامه نویسی شی‌ گرا برنامه نویسی قرارداد هوشمند بلاکچین بلاک چین اتریوم بهترین ارزهای دیجیتال ترون چیست توسعه دهنده سالیدیتی صرافی های ارزدیجیتال صرافی‌ غیرمتمرکز قرارداد هوشمند قیمت پولکادات متاورس مزایای قرارداد هوشمند نوشتن سیستم رای گیری با سالیدیتی نوشتن قرارداد هوشمند واقعیت مجازی متاورس ویژگی‌های اتریوم پلتفرم های ارزدیجیتال پیش نیاز قرارداد هوشمند کاربرد قرارداد هوشمند کد نویسی سالیدیتی کسب درآمد با قرارداد هوشمند کسب درآمد در متاورس کیف پول ارزدیجیتال کیف پول الکترونیکی کیف پول نرم‌افزاری