آموزش زبان برنامهنویسی سالیدیتی یکی از بهترینترین دورههای آموزشی برای این زبان محبوب است. با استفاده از این زبان میتوانیم در بستر بلاکچین اتریوم، ترون، اتریوم کلاسیک و بایننس اسمارت چین قرارداد هوشمند بنویسیم. همچنین با استفاده از مفاهیم این دوره آموزش سالیدیتی قادر خواهیم بود قراردادهای هوشمند، توکنها، برنامههای غیرمتمرکز و NFTها را پیادهسازی کنیم.
هدف از برگزاری دوره برنامهنویسی مقدماتی تا پیشرفته سالیدیتی چیست؟
همانطور که میدانید طی یکی دو سال گذشته تکنولوژی بلاک چین رشد بسیار خوبی داشته و امروزه به یکی از پیشتازان عرصه تکنولوژی تبدیل شده است؛ همزمان با این رشد نیاز به برنامهنویسان و توسعهدهندگان و متخصصان این حوزه چه در داخل و چه در خارج از کشور بیشتر شده است؛ بنابراین تصمیم گرفتیم این دوره آموزش سالیدیتی را در جهت رفع نیاز کاربران برگزار کنیم.
دوره برنامهنویسی مقدماتی تا پیشرفته سالیدیتی برای چه کسانی مناسب هست؟
تمامی افرادی که همزمان به برنامهنویسی و تکنولوژی بلاکچین و توسعه آن علاقه دارند میتوانند از دوره آموزش استفاده کنند.
سرفصلهای دوره آموزش سالیدیتی
این دوره آموزشی تقریباً یک دوره آموزش مقدماتی سالیدیتی است که مفاهیم پیشرفته را نیز پوشش میدهد و به صورت کلی میتوان گفت نقطه شروع خوبی برای ورود به دنیای سالیدیتی است.
معرفی زبان برنامهنویسی سالیدیتی: در این فصل با مفهوم اولیه قرارداد هوشمند و محیط توسعه سالیدیتی، ویژگیهای آن و نحوه راهاندازی آن آشنا میشویم و سپس ساختار اولیه کدهای سالیدیتی را بررسی میکنیم و اولین اسمارت کانترکت خودمان رو مینویسیم.
- مقدمات سالیدیتی: در اين فصل با مفاهیم برنامهنویسی انواع متغیر، پیادهسازی اولیه تابع و … آشنا میشویم.
- ساختارها در سالیدیتی: در اين فصل با مفاهیم آرایه و متغیر Enum بیشتر آشنا میشویم. همچنین در این فصل با ساختارهای Mapping و … بیشتر آشنا میشود.
- متغیرهای ویژه در سالیدیتی: در این فصل از دوره آموزش سالیدیتی با مفاهیم متغیرهای ویژه زبان برنامه نویسی سالیدیتی بیشتر آشنا میشویم.
- توابع در سالیدیتی: آشنایی با حالت های مختلف تابع و محدود کننده های آن ، توابع مختلف Hashing ، رویداد و …
- الگوهای سالیدیتی: بررسی الگو های پرداخت در سالیدیتی و متد های Send و Transfer و Call
- سالیدیتی پیشرفته: آشنایی با مفاهیم ارث بری، کتابخانه ، مدیریت خطا و در پایان نحوه پیاده سازی یک توکن بر اساس استاندارد ERC-20
- پروژه پایانی: در این فصل 4 پروژه در نظر کرفته شده تا بتونید دانش خودتون رو کامل محک بزنید و با پروژه های واقعی حوزه بلاک چین آشنا بشید.
اگر به فکر یادگیری اصولی سالیدیتی هستید، پیشنهاد ما استفاده از دوره آموزش زبان سالیدیتی مکتبخونه است. این دوره به صورت پروژه محور تهیه و تدوین شده است و به صورت عملی شما را با مفاهیم این زبان آشنا خواهد کرد.
در کنار این دوره آموزش سالیدیتی میتوان از انواع کتاب آموزش سالیدیتی و فیلمهای تخصصی آموزش سالیدیتی موجود در وب استفاده کرد.
سالیدیتی (Solidity) یک زبان برنامه نویسی کاملاً جدید است که توسط گروه اتریوم ایجاد شده است. اتریوم دومین بازار بزرگ ارزهای دیجیتال از نظر سرمایه است که در سال 2015 به رهبری کریستین ریتویسنر منتشر شد. دوره آموزش سالیدیتی یکی از بهترین دورههای موجود در زبان فارسی برای این زبان محبوب است که در ادامه به معرفی این دوره برنامه نویسی سالیدیتی خواهیم پرداخت. قبل از اینکه دوره آموزش سالیدیتی را معرفی کنیم ابتدا بهتر است کمی با این مفاهیم مرتبط با ارز دیجیتال اتریوم، زبان سالیدیتی و رسالت آن آشنا شویم.
سالیدیتی چیست؟
سالیدیتی Solidity یک زبان برنامهنویسی کامپیوتری است که برای اجرای پلتفرم بلاکچین اتریوم ساختهشده است. این زبان توسط زبانهای موجود مانند C++، Python و جاوا اسکریپت شکل گرفته و اساساً برای ایجاد قراردادهای هوشمند در شبکه اتریوم طراحی شده است. در دوره آموزش سالیدیتی ما قرار است بهصورت حرفهای این زبان را یاد بگیریم و بتوانیم در عمل آن را به کار ببریم.
چند نکته در مورد سالیدیتی:
- مانند هرزبان دیگری، سالیدیتی نیز دارای ویژگیهای منحصربهفردی است که مهمترین آنها به شرح موارد زیر خواهد بود:
- Solidity نوعی زبان برنامه نویسی سطح بالا است که برای اجرای قراردادهای هوشمند طراحی شده است.
- این زبانی شی گرا با قابلیت تعیین نوع ایستا (تایپ ایستا) است.
- Solidity بسیار تحت تأثیر پایتون، ++C و جاوا اسکریپت است که روی ماشین مجازی اتریوم (EVM) اجرا میشود.
- Solidity از برنامه نویسی پیچیده تعریف شده توسط کاربر، کتابخانهها و وراثت پشتیبانی میکند.
- Solidity زبان اصلی برای پلتفرمهای در حال اجرا بلاک چین است.
- Solidity میتواند برای ایجاد قراردادهای هوشمند استفاده شود.
اتریوم چیست؟
اتریوم یک پلتفرم غیرمتمرکز منبع باز مبتنی بر بلاکچین است که برای اجرای قراردادهای هوشمند استفاده میشود، یعنی برنامههایی که برنامه را دقیقاً همانطور که برنامهریزی شده اجرا میکنند، بدون اینکه امکان کلاهبرداری، دخالت شخص ثالث (دلال)، سانسور یا خرابی وجود داشته باشد. این پلتفرم نزدیک به 260000 ارز دیجیتال مختلف ارائه میدهد. اتر یک ارز دیجیتال است که توسط ماینرهای اتریوم تولید میشود و برای پاداش محاسباتی که برای ایمن کردن بلاک چین انجام میشود، استفاده خواهد شد.
ماشین مجازی اتریوم (EVM)
ماشین مجازی اتریوم بهاختصار EVM یک محیط زمان اجرا برای اجرای قراردادهای هوشمند در اتریوم است. این به طور گستردهای بر تأمین امنیت و اجرای کدهای غیرقابل اعتماد با استفاده از شبکه بینالمللی گرههای عمومی تمرکز دارد. EVM برای جلوگیری از حمله انکار سرویس (حملات دیداس) یک ابزار تخصصی است و تأیید میکند که برنامه هیچگونه دسترسی به وضعیت یکدیگر ندارد، همچنین تضمین میکند که ارتباط بدون هیچگونه تداخل احتمالی برقرار است.
قرارداد هوشمند
قراردادهای هوشمند کدهای برنامه سطح بالایی هستند که در کد بایتی EVM کامپایل شده و برای اجرای بیشتر در بلاک چین اتریوم مستقر میشوند. EVM این امکان را به ما میدهد تا تراکنشهای معتبر را بدون هیچگونه دخالت شخص ثالث انجام دهیم، این تراکنشها قابل پیگیری و برگشتناپذیر هستند. زبانهای مورداستفاده برای نوشتن قراردادهای هوشمند عبارتاند از Solidity (یک زبان مبتنی بر کتابخانه با شباهت به ++C و جاوا اسکریپت)، Serpent (مشابه Python، اما منسوخشده)، LLL (یک زبان سطح پایین Lisp مانند) و Mutan (مبتنی بر Go، اما منسوخ).
تاریخچه مختصری از Solidity
گاوین وود (Gavin Wood)، دانشمند کامپیوتر، در ابتدا مفهوم زبان Solidity را مطرح کرد. وود به مدت دو سال بهعنوان CTO در اتریوم خدمت کرد. ایده او توسط کریستین ریتویسنر مطرح شد که تیمی از افراد را هدایت کرد تا در واقع آن را توسعه دهند. بهصورت کلی تاریخچه سالیدیتی را میتوان به سه دوره تخصیص داد که به شرح زیر است:
- آگوست 2014 – زبان Solidity پیشنهادشده توسط Gavin Wood
- پاییز 2014 – Solidity بهعنوان یک زبان توسط Monax، یک پلت فرم رقیب پذیرفته شد
- آگوست 2015 – Solidity به طور رسمی منتشر شد
چرا سالیدیتی به وجود آمد؟
سالیدیتی منطق و کد پشت بلاک چین اتریوم است. همانطور که میدانید اتریوم یکی از بزرگترین پلتفرمهای بلاک چین در جهان و جدیترین رقیب بیت کوین است. ازآنجاییکه معامله هر چیزی غیر از ارزهای دیجیتال در پلتفرم بیت کوین بسیار پیچیده بود، تیم اتریوم یک سیستم جدید ایجاد کرد. برای این کار تیم اتریوم به زبان محاسباتی با انعطافپذیری بسیار بیشتری نسبت به بیت کوین (که عمدتاً در ++C نوشته شده است) نیاز داشت، بنابراین آنها زبان Solidity را توسعه دادند.
کاربردهای سالیدیتی
Solidity پایه و اساس شبکه اتریوم است این زبان کاربردهای بسیار زیادی دارد که در دوره آموزش سالیدیتی نیز به این کاربردها اشاره شده است. با این حال موارد استفاده از سالیدیتی به شرح موارد زیر خواهد بود.
توسعه برنامههای غیرمتمرکز
سالیدیتی بهعنوان زبان برنامه نویسی اتریوم به توسعهدهندگان این امکان را میدهد که برنامههای غیرمتمرکز (DAAP) خود را ایجاد کنند. این برنامههای غیرمتمرکز منبع باز هستند و واسطه ندارند. درست مانند برنامههای موجود در فروشگاه اپل استور که برای اجرا بر روی iOS، Dapps در اتریوم نیز برای اجرا در Solidity ساختهشدهاند. محبوبترین Dapp ها در حال حاضر در اتریوم صرافیهای رمزنگاری و پس از آن بازیها بلاک چین هستند.
قراردادهای هوشمند
در Dapps، کدهایی وجود دارد که به قراردادهای هوشمند معروف هستند. این موارد به افراد کمک میکند تا در صورت برآورده شدن شرایط خاص، پول، سهام، دارایی و تقریباً هر چیزی با ارزش را مبادله کنند. این ویژگی نیاز به واسطه یا دفتر اسناد رسمی را از بین میبرد.
توسعه ICO
توسعهدهندگان همچنین میتوانند توکن های خود را ایجاد کنند و یک ICO را مستقیماً بر روی پلتفرم اتریوم راهاندازی کنند. این توکن ها بهعنوان توکن های ERC20 شناخته میشوند. نمونههای آن عبارتاند از OmiseGO، 0x و Basic Attention Token.
رأی دادن
در حال حاضر، رأیگیری با مسائل متعددی از جمله دستکاری دادهها، رأیدهندگان جعلی، تغییر در ماشینهای رأیگیری و … سروکار دارد.
حراج کور
در یک حراج آزاد، افراد میتوانند پیشنهاد یکدیگر را مشاهده کنند که منجر به اختلاف و تقلب میشود. با استفاده از قراردادهای هوشمند Solidity، حراج کور را میتوان در جایی طراحی کرد که کاربران نتوانند تا زمانی که به پایان برسد، ببینند چه چیزی پیشنهاد میدهد.
تأمین مالی جمعی
تأمین مالی جمعی از طریق قراردادهای هوشمند میتواند مسائلی مانند کمیسیون شخص ثالث و مدیریت دادهها را حل کند. قراردادهای هوشمند Solidity برای تأمین مالی جمعی نیازی به سیستمهای متمرکز برای ایجاد اعتماد ندارند و در نتیجه هزینههای اضافی را کاهش میدهند.
خواه به دنبال استقرار قراردادهای هوشمند Solidity یا ساختن یک برنامه بلاک چین با استفاده از زبان Solidity هستید، مطمئن شوید که تیمی از توسعهدهندگان با تجربه Solidity را استخدام میکنید که مفاهیم solidity را درک میکنند و روی فناوری بلاک چین کارکردهاند.
ساختارهای داده در سالیدیتی
همانطور که در دوره آموزش سالیدیتی نیز این مفاهیم آموزش داده میشود، این زبان از ساختارهای داده زیر پشتیبانی میکند:
- اعداد صحیح: Solidity میتواند هر دو دامنه اعداد صحیح بدون علامت و علامتدار را پشتیبانی کند.
- Booleans: نوع داده Boolean مقدار “0” را بهصورت false و “1” را بهعنوان true، بسته بهدقت یک شرط، برمیگرداند. هنگام استفاده از عملگرهای منطقی، خروجی معمولاً بهصورت یک مقدار بولی تولید میشود.
- اصلاحکنندهها (Modifiers): اصلاحکنندهها برای شناسایی سازگاری شرایط قبل از اجرای کد قرارداد هوشمند استفاده میشوند.
- رشته: سالیدیتی از کاراکترهای پشت سرهم بهصورت رشتهای پشتیبانی میکند.
علاوه بر این، Solidity، enums، عملگرها، آرایهها و مقادیر هش را برای تشکیل ساختار دادهای به نام «mappings» ارائه میکند که برای برگرداندن مقادیر مرتبط با مکانهای ذخیرهسازی استفاده میشود. ازآنجاییکه سینتکس آن مانند هر زبان برنامه نویسی عمومی دیگر است، میتواند از آرایههای تکبعدی و چندبعدی پشتیبانی کند.
ابزارهای موردنیاز در سالیدیتی برای ایجاد قرار داد هوشمند
ابزارهای مختلفی در سالیدیتی برای ایجاد قراردادهای هوشمند مورداستفاده قرار میگیرند که عبارتاند از:
- Solgraph: برای تولید یک نمودار DOT استفاده میشود که جریان کنترل تابع قرارداد Solidity را تجسم میکند و آسیبپذیریهای امنیتی را بیان میکند.
- Solidity REPL: Solidity REPL برای نوشتن کدهای خط فرمان روی Solidity Console استفاده میشود.
- LAB EVM: این یک بسته ابزار غنی است که با قابلیت تعامل با ماشین مجازی اتریوم (EVM) همراه است. این شامل Etherchain API، trace-viewer و VM است.
- Evmdis: Evmdis مخفف EVM Disassembler است که میتواند تجزیهوتحلیل استاتیک را روی بایت کد انجام دهد تا سطح بالاتری از انتزاع را در مقایسه با عملیات EVM خام ارائه دهد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.