آشنایی با سالیدیتی، زبان برنامه نویسی بلاکچین
برنامه های غیرمتمرکز (Dapp) برنامه هایی هستند که بر روی شبکه ی متن باز …
خانه »
برنامه های غیرمتمرکز (Dapp) برنامه هایی هستند که بر روی شبکه ی متن باز و همتا به همتای شبکه ی اتریوم ساخته شده اند و از قراردادهای هوشمند و رابط های کاربری فرانت اند برای ایجاد پلتفرمهای غیرمتمرکز استفاده می کنند. توسعه ی یک برنامه ی غیرمتمرکز (Dapp) مانند هر برنامه ی دیگری نیاز به برنامه نویسی و اجرای کد روی سیستم دارد. زبان برنامه نویسی سالیدیتی (Solidity) زبان انتخاب شده برای اتریوم است و خود زبان مستقلی جدای از سایر زبان هاست. این زبان یک زبان بسیار جدید است که توسط اتریوم، دومین بازار بزرگ ارزهای دیجیتال از نظر سرمایه گذاری، توسعه یافته است.
زبان برنامه نویسی سالیدیتی چیست؟
سالیدیتی یک زبان برنامه نویسی شی گراست که به طور اختصاصی توسط تیم شبکه ی اتریوم برای ساخت و طراحی قراردادهای هوشمند بر روی پلتفرم های بلاکچین طراحی شده است. از این زبان برای ایجاد قراردادهای هوشمند و پیاده سازی سازوکار تجاری و تولید زنجیره ای از سوابق تراکنش ها در سیستم بلاکچین استفاده می شود. این زبان ابزاری برای کد زدن و اجرای کد روی ماشین مجازی اتریوم (EVM) است. شباهت های زیادی بین این زبان و زبانهای C و C++ وجود دارد و یادگیری و فهم آن بسیار ساده است. برای مثال یک main در زبان C معادل یک contract در زبان سالیدیتی است. زبان سالیدیتی هم مانند تمام زبان های برنامه نویسی دارای متغیرها، توابع، کلاس ها، عملیات الگوریتمی، بکارگیری استرینگ ها و مفاهیم مشابه دیگر است.
تکامل زبان برنامه نویسی سالیدیتی
سالیدیتی یک زبان برنامه نویسی جدید است که به سرعت در حال رشد است و همین باعث شده است تا منابع فارسی در این مورد زیاد نباشد. این زبان در حال حاضر زبان اصلی در اتریوم و سایر بلاکچین های خصوصی است که بر روی پلتفرم های رقیب کار می کنند مثل Monax و بلاکچین Hyperledger Burrow که از مکانیسم اجماع Tendermint استفاده می کنند. حتی سوئیفت (SWIFT) هم یک اثبات مفهوم راه اندازی کرده است که روی Burrow اجرا می شود و از سالیدیتی استفاده می کند.
ماشین مجازی اتریوم EVM چیست؟
ماشین مجازی اتریوم یک محیط اجرا و بدون امکان دستکاری را برای قراردادهای هوشمند اتریوم فراهم می کند. این ماشین مجازی در درجه ی اول، به تضمین امنیت و صحت اجرای برنامه های غیرقابل اعتماد از طریق استفاده از شبکه ی بین المللی نود (گره) های عمومی می پردازد. EVM در پیشگیری از حملات انکار سرویس (Denial-of-Service) تخصص یافته است و تضمین می کند که برنامه ها به صورت وضعیت یکدیگر دسترسی ندارند و همچنین بدون تداخل احتمالی با هم ارتباط برقرار می کنند.
قرارداد هوشمند چیست؟
قراردادهای هوشمند کدهای برنامه های سطح بالا هستند که قبل از ارسال به بلاکچین اتریوم، برای اجرا در ماشین مجازی کامپایل شده اند. این قراردادها شما را قادر می سازند تا معاملاتی مطمئن را بدون دخالت شخص ثالث انجام دهید. این معاملات قابل ردیابی و برگشت ناپذیر هستند. زبان هایی که معمولا برای ایجاد و نوشتن قراردادهای هوشمند استفاده می شوند و عبارتند از موتان، سالیدیتی، Serpent و LLL.
انواع داده ها در برنامه نویسی سالیدیتی
این زبان از تمام انواع داده های رایج در سایر زبان های برنامه نویسی پشتیبانی می کند. نوع داده هایی مانند:
Boolean، اینتجر، استرینگ، مدیفایر و آرایه. از اینها گذشته سالیدیتی به شما امکان می دهد تا ساختارهای داده ها را با enumها، عملگرها و مقادیر هش نقشه برداری (map) کنید و مقادیر ذخیره شده در مکان های ذخیره سازی خاص را برگردانید