Contents
زبان برنامه نویسی سالیدیتی چیست؟ اپلیکیشن های غیرمتمرکز یا Dappها، برنامه هایی هستند که بر روی شبکه منبع باز و همتا به همتای بلاک چین اتریوم ساخته شده اند که از قراردادهای هوشمند و رابط های کاربر جلویی برای ایجاد پلتفرم های غیرمتمرکز استفاده می کنند. توسعه یک Dapp مانند هر برنامه دیگری نیاز به برنامه نویسی و اجرای کد روی سیستم دارد که در اینجا، پای زبان سالیدیتی به میان می آید که جدا از سایر زبان های برنامه نویسی است و زبان برنامه نویسی انتخابی در اتریوم است.
سالیدیتی چیست؟
سالیدیتی یک زبان برنامه نویسی کاملاً جدید است که توسط اتریوم، دومین بازار بزرگ ارزهای دیجیتال از نظر سرمایه گذاری، توسعه یافته است. اگر علاقه مند به کاوش بیشتر در مورد زبان برنامه نویسی سالیدیتی و مفاهیم آن هستید، جای درستی آمده اید. در این مقاله به بررسی کلیات سالیدیتی خواهیم پرداخت و آموزش برنامه نویسی، می توانید دوره آموزش سالیدیتی را با زیرنویس فارسی تهیه کنید که یکی از دوره های یودمی می باشد.
زبان برنامه نویسی سالیدیتی
زبان برنامه نویسی سالیدیتی یک زبان برنامه نویسی شی گرا است که به طور خاص توسط تیم شبکه اتریوم برای ساخت و طراحی قراردادهای هوشمند بر روی پلتفرم های بلاک چین ایجاد شده است. زبان Solidity برای ایجاد قراردادهای هوشمند که منطق تجاری را پیاده سازی می کند و زنجیره ای از سوابق تراکنش را در سیستم بلاک چین ایجاد می کند، استفاده می شود. همچنین به عنوان ابزاری برای ایجاد کد در سطح ماشین و کامپایل آن در ماشین مجازی اتریوم (EVM) عمل می کند.
زبان سالیدیتی شباهت های زیادی با C و C++ دارد و یادگیری و درک آن بسیار ساده است. به عنوان مثال، “main” در C معادل “Contract” در Solidity است. مانند سایر زبان های برنامه نویسی، زبان برنامه نویسی Solidity نیز دارای متغیرها، توابع، کلاس ها، محاسبات، دستکاری رشته ها و بسیاری مفاهیم دیگر است.
تکامل زبان سالیدیتی
سالیدیتی یک زبان نسبتاً جدید است که به سرعت در حال رشد است. زبان سالیدیتی در حال حاضر زبان اصلی در اتریوم و سایر بلاک چینهای خصوصی است که بر روی پلتفرمهای رقیب کار میکنند، مانند Monax و بلاک چین هایپرلجر Burrow که از الگوریتم اجماع تندرمینت استفاده میکند. همچنین سوئیفت یک اثبات مفهومی ایجاد کرده است که بر روی Burrow اجرا می شود و از Solidity استفاده می کند.
ماشین مجازی اتریوم چگونه از سالیدیتی استفاده می کند؟
ماشین مجازی اتریوم (EVM) یک محیط برای قراردادهای هوشمند اتریوم فراهم می کند. در درجه اول به تضمین امنیت و اجرای برنامه های نامعتبر از طریق استفاده از شبکه بین المللی گره های عمومی می پردازد. در درجه دوم، EVM در پیشگیری از حملات Denial-of-Service مناسب است و گواهی میدهد که برنامهها به وضعیت یکدیگر دسترسی ندارند و همچنین بدون تداخل، ارتباط برقرار میکند.
قراردادهای هوشمند نیز به کدهای برنامه سطح بالا اشاره دارند که قبل از ارسال به بلاک چین اتریوم برای اجرا در EVM کامپایل شده اند. و به شما امکان می دهد تا معاملات قابل اعتماد را بدون دخالت شخص ثالث انجام دهید. این معاملات قابل ردیابی و برگشت ناپذیر هستند. زبان های برنامه نویسی که معمولا برای ایجاد و نوشتن قراردادهای هوشمند استفاده می شوند عبارتند از: سرپنت، سالیدیتی، موتان و LLL.
انواع داده زبان Solidity
زبان Solidity تمام داده های رایج که در سایر زبان های شی گرا وجود دارد، را پشتیبانی می کند. از جمله:
- Boolean: نوع داده Boolean بسته به وضعیت شرط، زمانی که شرط درست است، «1» و زمانی که نادرست است «0» را برمیگرداند.
- Integer: می توانید مقادیر صحیح را در Solidity امضا یا لغو علامت کنید. همچنین از استثناهای زمان اجرا و کلمات کلیدی “uint8” و “uint256” پشتیبانی می کند.
- String: عبارت های منفرد یا دوگانه می توانند یک رشته را تشکیل دهند.
- Modifier: قبل از اجرای کد برای یک قرارداد هوشمند، یک اصلاح کننده اغلب تأیید می کند که هر شرطی منطقی است.
- Array: سینتکس زبان Solidity مانند سایر زبان های شی گرا است و از آرایه های تک بعدی و چند بعدی پشتیبانی می کند.
جدای از آن، زبان برنامه نویسی سالیدیتی به شما امکان می دهد تا ساختارهای داده را با enums، عملگرها و مقادیر هش “Mapping” کنید تا مقادیر ذخیره شده در مکان های ذخیره سازی خاص را برگردانید.
شروع برنامه نویسی سالیدیتی
برای یادگیری برنامه نویسی سالیدیتی یک سری اصطلاحات وجود دارد که باید با آنها آشنا شوید:
Pragma
پراگماها دستورالعمل هایی برای کامپایلر در مورد نحوه مدیریت کد هستند. هر خط از کد منبع solidity باید با یک “ورژن پراگما” شروع شود، که مشخص می کند از کدام نسخه کامپایلر solidity استفاده شود. این کد آغازین، مانع از ناسازگاری کد برنامه نویسی شده با نسخه های کامپایلر آینده می شود که ممکن است با تغییراتی ارائه شود.
کلمه Contract
کلمه کلیدی Contract قرارداد هوشمندی را شروع می کند که کد را برای آن می نویسید.
نوع متغیرها
متغیرهای حالت یا State variables بر روی بلاک چین اتریوم نوشته شده و به طور دائم در ذخیره سازی قرارداد نگهداری می شوند. وقتی متغیر uint public var را تعریف می کنیم، منظورمان یک متغیر حالت از نوع uint (عدد صحیح مثبت 256 بیتی) می باشد.
نحوه اجرای کد سالیدیتی
شما می توانید یک برنامه سالیدیتی را به دو روش اجرا کنید:حالت آنلاین و حالت آفلاین که هر دو را بررسی می کنیم.
اجرای آفلاین برنامه سالیدیتی
برای اجرای آفلاین سالیدیتی، باید سه شرط وجود داشته باشد و چهار اقدام را انجام داده باشید:
شرایط:
- node.js را دانلود و نصب کنید.
- Truffle را به صورت جهانی نصب کنید.
- ganache-cli را نصب کنید.
اقدامات لازم:
- یک پروژه ترافل ایجاد کنید و یک شبکه توسعه برای آن راه اندازی کنید.
- یک قرارداد هوشمند برای آن ایجاد و مستقر کنید.
- از کنسول Truffle، با قرارداد هوشمند تعامل کنید.
- تست هایی برای ارزیابی ویژگی های اولیه زبان Solidity ایجاد کنید.
اجرای آنلاین برنامه سالیدیتی
برای اجرای آنلاین برنامه سالیدیتی، معمولا از Remix IDE برای کامپایل و اجرای قراردادهای هوشمند استفاده می شود. اگر قصد یادگیری برنامه نویسی با زبان سالیدیتی را داشته باشید، از ریمیکس زیاد سر و کار خواهید داشت.
مزایای زبان برنامه نویسی سالیدیتی
جدا از عملکرد اصلی زبان سالیدیتی، بسیاری از ویژگی های دیگر توسط Solidity ارائه می شود که باعث برتری آن نسبت به سایر زبان های مبتنی بر اتریوم می شود. آنها را به عنوان مزایای زبان برنامه نویسی سالیدیتی لیست میکنیم:
علاوه بر انواع داده های بنیادی، زبان Solidity انواع داده های پیچیده و متغیرهای عضو را نیز امکان پذیر می کند.
یک رابط باینری (ABI) برای فعال کردن ایمنی فراهم می کند. اگر کامپایلر عدم تطابق نوع داده را برای هر متغیری کشف کند، ABI یک ارور ایجاد می کند.
سالیدیتی به «مشخصات زبان طبیعی» اشاره دارد که برای تبدیل مشخصات کاربر محور به زبان قابل درک ماشینها استفاده میشود.
جمع بندی
در این مقاله، شما فهمیدید که سالیدیتی چیست، با کلیات زبان برنامه نویسی Solidity و مفاهیم آن مانند چگونگی تکامل آن، ماشین مجازی اتریوم و قراردادهای هوشمند، انواع داده ها در زبان Solidity و مزایای آن مواجه شدید. اگر علاقه مند به حوزه برنامه نویسی اتریوم هستید و میخواهید یاد بگیرید که چگونه قراردادهای هوشمند بنویسید، دوره سالیدیتی را از دست ندهید.
منبع: Simplilearn
No comment