چگونه یک صرافی خرید و فروش ارز دیجیتال راه اندازی کنیم؟
1402/02/16دستورالعمل کامل سرمایه گذاری بر روی پروژه های NFT
1401/04/15وام NFT چیست + معرفی بهترین پلتفرم های وام NFT
1401/04/05آموزش و راهنمای کامل ماینینگ (استخراج) اتریوم (Ethereum Mining)
1401/04/02بررسی قدرت شبکه های اجتماعی در رشد ارزهای دیجیتال
1401/03/28سالیدیتی (Solidity)، یک زبان برنامه نویسی کاملاً جدید است که توسط اتریوم، بزرگترین بازار سرمایه گذاری ارزهای دیجیتال پس از بیت کوین، توسعه یافته است.
سالیدیتی (Solidity)، یک زبان برنامه نویسی کاملاً جدید است که توسط اتریوم، بزرگترین بازار سرمایه گذاری ارزهای دیجیتال پس از بیت کوین، توسعه یافته است. در ادامه این مقاله به بررسی بیشتر زبان برنامه نویسی سالیدیتی و اجزای مهم آن خواهیم پرداخت.
همه چیز درباره سالیدیتی(Solidity)، زبان برنامه نویسی قراردادهای هوشمند بلاکچین اتریوم
به زبان ساده، سالیدیتی یک زبان برنامه نویسی شی گرا است که به طور ویژه و انحصاری توسط تیم شبکه اتریوم برای ساخت و طراحی قراردادهای هوشمند بر روی پلتفرم های بلاکچین ایجاد شده است. از این برنامه برای ایجاد قراردادهای هوشمند که منطق کسب و کار (business logic) را اعمال و زنجیره ای از سوابق تراکنش را در سیستم بلاکچین ایجاد می کنند، استفاده می شود.
سالیدیتی به عنوان ابزاری برای ایجاد کد ماشینی و جمع آوری آن در ماشین مجازی اتریوم (EVM) عمل می کند. این زبان شباهت های زیادی با زبان های برنامه نویسی C و C++ دارد و یادگیری و درک آن بسیار ساده است. به عنوان مثال، یک "main" در C معادل "contract" در سالیدیتی است. مانند سایر زبان های برنامه نویسی، برنامه نویسی Solidity نیز دارای متغیرها، توابع، کلاس ها، عملیات حسابی و بسیاری مفاهیم دیگر است.
ماشین مجازی اتریوم (EVM) یک محیط برای اجرای قراردادهای هوشمند اتریوم فراهم می کند. این سیستم از طریق استفاده از شبکه بین المللی گره ها یا نودهای عمومی به تضمین امنیت و اجرای برنامه های غیرقابل اعتماد می پردازد.
ماشین مجازی اتریوم در پیشگیری از حملات محروم سازی از سرویس تخصص دارد. همچنین اطمینان حاصل می کند که برنامهها به وضعیت یکدیگر دسترسی ندارند و بدون تداخل احتمالی ارتباط برقرار میکند.
منظور از قراردادهای هوشمند کد های برنامه سطح بالایی است که قبل از ارسال به بلاکچین اتریوم برای اجرا در EVM سازمان دهی شده اند. قراردادهای هوشمند شما را قادر می سازد تا معاملات را به صورت کاملا قابل اعتماد و بدون دخالت شخص ثالث انجام دهید. این معاملات قابل ردیابی و برگشت ناپذیر هستند. زبان های برنامه نویسی که معمولا برای ایجاد و نوشتن قراردادهای هوشمند استفاده می شوند عبارتند از: Serpent، Solidity، Mutan و LLL.
EVM و قراردادهای هوشمند چیست؟
این زبان از انواع داده های رایج که در سایر زبان های OOP دیده می شود پشتیبانی می کند. در ادامه به معرفی این نوع داده ها می پردازیم.
✅ گزاره (Boolean): بسته به وضعیت، "1" نمایانگر شرط درست و "0" نمایانگر شرط نادرست است.
✅ عدد صحیح(Integer): می توانید مقادیر صحیح را در سالیدیتی با علامت یا بدون علامت کنید. همچنین از استثناهای زمان اجرا و کلمات کلیدی "uint8" و "uint256" پشتیبانی می کند.
✅ رشته (String): نقل قول های منفرد یا دوتایی می توانند یک رشته را نشان دهند.
✅ توصیف کننده (modifier): قبل از اجرای کد برای یک قرارداد هوشمند، یک توصیف کننده اغلب تأیید می کند که هر شرطی منطقی است.
✅ آرایه (Array): نحوه برنامه نویسی سالیدیتی مانند سایر زبان های OOP است و از آرایه های تک بعدی و چند بعدی پشتیبانی می کند.
ورژن پراگما (Version Pragma)
پراگماها دستورالعمل هایی برای کامپایلر در مورد نحوه مدیریت کد هستند. هر خط از سورس کد باید با " Version Pragma" شروع شود تا مشخص کند که از کدام ورژن کامپایلر سالیدیتی استفاده شده است.
این امر از ناسازگاری کد با نسخه های کامپایلر آینده که ممکن است تغییراتی در آن اعمال شده باشد، جلوگیری می کند.
کلمه کلیدی قرارداد، مشخص کننده قراردادی است که چهارچوب کد را تعریف می کند.
کلمه کلیدی قرارداد (The Contract Keyword)
متغیرهای حالت/اعلان (State/Declare Variables)
متغیرهای حالت بر روی بلاکچین اتریوم نوشته شده و به طور دائم در قرارداد ذخیره و نگهداری می شوند.
خط uint public var1 یک متغیر حالت از نوع uint با نام var1 (عدد صحیح بدون علامت 256 بیتی) را نشان می دهد که بسیار شبیه به افزودن یک slot در دیتابیس است.
تعریف تابع (function declaration)
تابعی به نام "set" وجود دارد که یک متغیر a و متغیر b از نوع داده uint را به عنوان پارامتر دریافت می کند.
مثال قابل مشاهده نمونه ای از یک قرارداد هوشمند ساده است که مقدار var1 و var2 را به روز می کند. هر کسی که به بلاکچین اتریوم دسترسی دارد می تواند از تابع set برای تغییر مقدار var1 و var2 استفاده کند. همچنین با افزودن مقادیر متغیرهای var1 و var2 می تواند مجموع متغیر را محاسبه کند.
شما از دو طریق می توانید برنامه سالیدیتی را اجرا کنید:
1)حالت آفلاین
برای اجرای قرارداد هوشمند سالیدیتی در حالت آفلاین، باید node.js، Truffle و ganache-cli را نصب کنید و چهار عمل لازم ذیل را انجام دهید.
✅ یک پروژه truffle ایجاد کنید و یک شبکه توسعه برای آن راه اندازی کنید.
✅ یک قرارداد هوشمند برای آن ایجاد کنید.
✅ از کمک Truffle قرارداد هوشمند را تنظیم کنید.
✅ برای ارزیابی ویژگی های اولیه برنامه نوشته شده را تست کنید.
2) حالت آنلاین
در حالت آنلاین، معمولاً از Remix IDE برای ایجاد و اجرای قراردادهای هوشمند سالیدیتی استفاده می شود.
جدا از عملکرد اصلی برنامه نویسی سالیدیتی، بسیاری از ویژگی های دیگر ارائه شده در زبان برنامه نویسی سالیدیتی باعث برتری آن نسبت به سایر زبان های مبتنی بر اتریوم می شود. به جز انواع داده های بنیادی، برنامه نویسی سالیدیتی اجرای انواع داده های پیچیده و متغیرهای عضو را نیز امکان پذیر می کند.
زبان برنامه نویسی سالیدیتی یک واسط دودویی کاربردی (ABI) به منظور ایمنی ایجاد می کند. در صورتی که کامپایلر(تبدیل گر سورس کد به زبان ماشین) تشخیص دهد که داده های دریافتی از متغیر ها مطابقت ندارند، ABI اخطار می دهد. این مورد به «مشخصه زبان طبیعی» اشاره دارد که برای تبدیل مشخصات کاربر محور به زبان قابل فهم برای ماشین ها استفاده می شود.
مزایای برنامه نویسی Solidity
در این مقاله به معرفی برنامه سالیدیتی که زبان برنامه نویسی ارزهای دیجیتالی مانند اتریوم و ترون بود پرداختیم. شما می توانید نظر خود را در بخش شبکه اجتماعی ارز دیجیتال سیبنال با ما در میان بگذارید.
Relevent Posts