بلاک چین

سالیدیتی(Solidity) چیست؟ معرفی زبان برنامه نویسی بلاکچین

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

زبان سالیدیتی در سال 2014 معرفی شده و توسط تیم توسعه دهندگان اتریوم؛ توسعه یافته است. تا الان، صدها هزار نفر از آن استفاده می کنند.

این زبان برنامه نویسی قدرتمند، به زبان C++  بسیار شباهت دارد، اما یادگیری آن بسیار ساده و درک آن راحت است. به عنوان مثال، main در زبان سی++ معادلcontract  در سالیدیتی است.

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

در این مقاله به بررسی بسیاری از مفاهیم پایه و کابردی زبان برنامه نویسی قدرتمند سالیدیتی میپردازیم. همچنین در صورت داشتن سوالات، می توانید در آخر این پست؛ در بخش نظرات سوال خود را مطرح کنید تا تیم کارشناسان کوین لند در کوتاه ترین زمان ممکن به آن پاسخ دهند. پس تا انتهای این پست همراه ما باشید. و اما:

سالیدیتی (Solidity) چیست؟

از جمله کسانی که زبان سالیدیتی را معرفی کردند؛ می توان به گوین وود (Gavin Wood)، یوئیچی هیرای(Yuichi Hirai)، کریستین ریتویسنر (Christian Reitwiessner) و الکساندر برگساسی  (Alex Beregszasz)اشاره کرد که در سال 2014 شروع به معرفی و توسعه آن کردند. سالیدیتی یک زبان شی گرا سطح بالاست که از زبان های Python, JavaScript, C++ الهام گرفته و راه اندازی شده است. قواعد نگارشی این زبان، همانند زبان جاوا اسکریپت طراحی شده است. می توان گفت، کسانی که به این زبان ها تسلط نسبی دارند می توانند راحت تر از بقیه افراد این زبان را یاد بگیرند.

جالب است بدانید؛ زبان سویفت که برای طراحی اپ های IOS استفاده می شود نیز از این زبان استفاده می کند.

داده های سالیدیتی؛ معمولاً به عنوان نوع (Value Type) یا نوع (Reference Type) طبقه بندی می شوند. تفاوت اصلی بین متغیرهای مقدار و متغیرهای مرجع را می توان در نحوه تخصیص آنها به یک متغیر و نحوه ذخیره آنها در ماشین مجازی اتریوم (EVM) یافت. اگرچه تغییر مقدار در یک متغیر بر مقدار متغیر دیگر تأثیر نمی‌گذارد، اما هر کسی که به مقادیر تغییر یافته در متغیرهای نوع مرجع ارجاع دهد، می‌تواند مقادیر به‌روز شده را دریافت کند.

خواندن این مقاله
ارتباط و تفاوت بیت کوین و بلاک چین

کاربرد های سالیدیتی در بلاکچین

سالیدیتی برای ایجاد قرارداد هوشمند و ایجاد زنجیره ای از سوابق تراکنش در سیستم بلاکچین استفاده می شود. یکی دیگر از کاربرد های آن ایجاد کد در سطح ماشین و کامپایل کردن آن در ماشین مجازی اتریوم (ٍEVM)  که در ادامه با آن آشنا خواهید شد. زبان سالیدتی در حال حاضر زبان اصلی اتریوم محسوب می شود و همان طور که در قسمت های قبلی مقاله خواندید، در بسیاری از بخش های تکنولوژی بلاکچین از این زبان استفاده می شود.

ویژگی های زبان سالیدیتی

در این قسمت به تمامی ویژگی های زبان برنامه نویسی سالیدیتی اشاره شده است.

  • سینتکس: سینتکس یا قواعد نگارشی سالیدیتی، شبیه به جاوا اسکریپت است.
  • پسوند فایل ها: پسوند فایل ها در سالیدیتی .sol است.
  • انواع داده: سالیدیتی دارای انواع دیتا تایپ یا انواع داده است. Solidity چندین نوع داخلی از جمله آدرس، uint (عدد صحیح بدون علامت) ، int (عدد صحیح علامت‌دار) ، bool (بولی) و بایت (یک آرایه بایت با اندازه ثابت) ارائه می‌کند.
  • قراردادها: قراردادهای استحکام در قالبی مشابه کلاس های زبان های شی گرا نوشته می شوند. یک قرارداد می تواند شامل متغیرهای حالت، توابع و اصلاح کننده ها باشد. متغیرهای حالت می توانند از هر نوع باشند.
    • از اصلاح کننده ها می توان برای تغییر رفتار توابع استفاده کرد. قراردادها همچنین می توانند با یکدیگر تعامل داشته باشند و امکان ایجاد برنامه های کاربردی غیرمتمرکز پیچیده را فراهم کنند.
  • اجرای قرارداد: قراردادهای سالیدیتی را می توان در بلاک چین اتریوم پیاده سازی کرد. پس از پیاده سازی، هر طرف
    که آدرس قراردادی داشته باشد می تواند با یک قرارداد تعامل داشته باشد.
  • قراردادهای هوشمند: قراردادهای هوشمند برنامه‌هایی هستند که روی بلاک چین اتریوم اجرا می‌شوند و می‌توانند برای تسهیل تراکنش‌ها و توافق‌نامه‌ها بین طرفین استفاده شوند.
    • از قراردادهای هوشمند می توان برای ساخت برنامه های غیرمتمرکز (dapps) استفاده کرد. (Dapp) ها برنامه هایی هستند که بر روی بلاک چین اتریوم اجرا می شوند و توسط یک مرجع مرکزی کنترل نمی شوند. (Dapp) ها معمولا منبع باز و غیرمتمرکز هستند. این بدان معنی است که هر کسی می تواند در توسعه آن مشارکت داشته باشد و به صورت رایگان از آن استفاده کند. محبوب ترین پلتفرم اتریوم،  (dapp)است که امکان ساخت (dApps) با سالیدیتی را فراهم می سازد. توکن‌های اتریوم با استفاده از استاندارد ERC20 ایجاد می‌شوند که مجموعه ‌ای از قوانین را تعریف می‌کند که همه توکن‌ها باید از آنها پیروی کنند. استاندارد ERC20 توسط Solidity پیاده سازی شده است.
  • کامپایلر: این زبان هنوز به طور کامل استاندارد نشده و کامپایلر رسمی برای آن وجود ندارد. کامپایلر Solidity هم به عنوان یک ابزار خط فرمان و هم به عنوان یک کامپایلر مبتنی بر وب در دسترس است. کامپایلر Solidity کد منبع Solidity را در بایت کد EVM کامپایل می کند که می تواند در بلاک چین اتریوم مستقر شود.  Solidityکامپایل و تحت مجوز MIT در دسترس است. کامپایلر سالیدیتی با نسخه های قدیمی Solidity سازگار نیست.
  • یادگیری آسان:  یک زبان سطح بالا است، به این معنی که یادگیری و استفاده از آن آسان تر از زبان های سطح پایین تر است. منابع زیادی برای کمک به یادگیری Solidity وجود دارد که در ادامه آنهارا معرفی خواهیم کرد.
  • DEX: همچنین برای ایجاد مبادلات غیرمتمرکز (DEX) استفاده می شود. DEX ها صرافی هایی هستند که به شما امکان معامله ارزهای دیجیتال را بدون نیاز به یک مرجع مرکزی می دهند. DEX ها اغلب با استفاده از پروتکل 0x  ایجاد می شوند. آنها با  سالیدیتی اجرا می شوند. پروتکل  0x یک پروتکل منبع باز و غیرمتمرکز است که امکان ایجاد DEX را می دهد.
  • ICO: همچنین برای ایجاد پیشنهادات اولیه سکه (ICO) استفاده می شود. ICO ها نوعی از سرمایه گذاری جمعی هستند که در آن می توان سرمایه را با فروش توکن ها افزایش داد. ICO ها اغلب برای تأمین مالی توسعه پروژه ها استفاده می شوند. بلاک چین های جدید استفاده می شود.
  • DAO: همچنین برای ایجاد سازمان‌های مستقل غیرمتمرکز (DAO) استفاده می‌شود. DAO ها سازمان هایی هستند که توسط قراردادهای هوشمند اداره می شوند. DAO ها غیرمتمرکز و مستقل هستند، به این معنی که توسط هیچ مقام مرکزی کنترل نمی شوند. Solidity برای ایجاد قراردادهای هوشمند با اجرای DAO استفاده می‌شود.
  • مؤلفه های برنامه نویسی: زبان برنامه نویسی سالیدیتی دارای چندین مؤلفه زبان سطح بالا است که می توان از آنها برای ایجاد قراردادها و برنامه ها استفاده کنیم.
    • اینها عبارتند از انواع داده، توابع، ساختارهای کنترل، وراث، بسته ها، رسیدگی به خطا
خواندن این مقاله
قرارداد هوشمند (Smart Contract)چیست؟ کاربرد + مزایا و معایب

انواع توکن در سالیدیتی

توکن ها؛ بلاک های سازنده سالیدیتی هستند. این توکن ها، مکان های ذخیره سازی اطلاعات هستند که داده ها را ذخیره یا دستکاری می کنند.

چهار نوع توکن در سالیدیتی وجود دارد:

  1. کلمات کلیدی: کلماتی هستند که در Solidity معنای خاصی دارند و نمی توان از آنها به عنوان نام متغیر استفاده کرد. نمونه‌هایی از کلمات کلیدی عبارتند از Contract , Library, interface, pragma  و modifier
  2. شناسه یا Identifiers  : به متغیر ها، قرارداد ها و توابع؛ شناسه گفته می شود.
  3. Literals: Literals مقادیر سخت کد شده در یک برنامه Solidity مانند اعداد، رشته ها و بولی ها هستند.
  4. علامت گذاری: علامت گذاری نمادهایی است که برای ساختار یک برنامه Solidity استفاده می شود، مانند پرانتزهای کرلی ({ })، پرانتز (()) و نقطه ویرگول (;).
اگر تا اینجا مقاله رو خوندی و جوابت سوالت در مقاله نبود، لطفا سوالاتت رو برامون کامنت کن تا اولین فرصت جواب بدیم.
امتیاز دهی به این مطلب

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا