آنچه در این مقاله خواهید خواند
سالیدیتی (Solidity) زبان برنامه نویسی اصلی استفاده شده برای قرارداد های هوشمند و اپلیکیشن های غیر متمرکز در بلاک چین اتریوم و هر شبکه دیگر سازگار با ماشین مجازی آن است. اپلیکیشنهای هوشمند در چند سال اخیر جایگاه خود را در میان فعالان حوزه کریپتو و ارز دیجیتال باز کردهاند و حتی ممکن است کسانی که آشنایی چندانی با فناوری بلاک چین ندارند ناخواسته در حال استفاده از آن باشند، حال چه به شکل یک بازی بلاک چینی یا اپلیکیشن تماس صوتی یا صرفا برای انتقال داراییهای کریپتویی خود.
قرارداد هوشمند و اپلیکیشن غیر متمرکز راهکارهای نوین و متعددی را با خود به اکوسیستم امور مالی غیر متمرکز یا دیفای (DeFi) آوردهاند، اما زبان برنامه نویسی سالیدیتی در بلاک چین اتریوم چه جایگاه و اهمیتی برای دپها دارد؟ اگر با دیدی نسبتا جامع و از دور به ماجرا نگاه کنیم، بیشتر قرارداد های هوشمند و در نتیجه اپلیکیشن های غیر متمرکز حال حاضر حوزه کریپتو در بلاک چین متن باز و غیرمتمرکز اتریوم ساخته شدهاند.
در ادامه توضیحی جامع درباره زبان برنامه نویسی سالیدیتی (Solidity) ارائه میدهیم و مهمترین مفاهیم و دادههای مرتبط با آن را بررسی و معرفی میکنیم.
زبان سالیدیتی (Solidity) چیست؟
یکی از اولین پرسشهایی که در هر بحثی درباره Solidity پیش میآید، چیستی این زبان برنامه نویسی و اهمیت آن است. اپلیکیشن غیر متمرکز نیز همانند هر نرم افزار یا برنامه دیگر است و به یک زبان برنامه نویسی اصلی برای اجرای کد خود نیاز دارد.
سالیدیتی یک زبان برنامه نویسی شیگرا است که تیم توسعه دهنده شبکه اتریوم مخصوصا آن را برای طراحی و ساخت قرارداد هوشمند بر بستر شبکههای بلاک چین ساخته است. یکی از نقاط قوت این زبان برنامه نویسی در ارتباط با بلاک چین اتریوم، کاملا قراردادمحور بودن آن است. در نتیجه میتوان گفت قراردادهای هوشمند وظیفه دادههای کاربر و همچنین برقراری ارتباطهای منطقی میان کاربر و بلاک چین را بر عهده دارند.
از سالیدیتی برای توسعه قراردادهای هوشمندی استفاده میشود که در بهبود مشاغل و ایجاد زنجیرههای تراکنش در سیستمهای بلاک چینی به کار میروند. این زبان برنامهنویسی مانند ابزاری برای ساخت کد در سطح درک کامپیوتر و بعد کامپایل کردن آن در ماشین مجازی اتریوم (Ethereum Virtual Machine) است.
زبان برنامه نویسی سالیدیتی شباهت زیادی به زبانهای پایتون (Python)، جاوااسکریپت (JavaScript) و سی پلاس پلاس (++C) دارد و به همین خاطر یادگیری آن ساده و آسان است. به عنوان مثال تابع main در زبان برنامه نویسی C همان Contract در زبان Solidity است.
سالیدیتی نیز همچون دیگر زبانهای برنامهنویسی از متغیر، تابع، کلاس، عملهای محاسباتی و تغییر دادههای متنی استرینگ استفاده میکند.
رشد برنامه نویسی به زبان سالیدیتی
رشد برنامه نویسی به کمک زبان سالیدیتی در اکوسیستم اتریوم یکی دیگر از نقاط روشن پرونده Solidity به عنوان یک زبان مناسب برای توسعه قرارداد هوشمند است. سالیدیتی از زبانهای برنامهنویسی نسبتا جدید محسوب میشود و پیوسته در حال رشد و فراگیری بیشتر است. در حال حاضر بلاک چین اتریوم و دیگر شبکههای سازگار با ماشین مجازی اتریوم از این زبان برنامه نویسی برای اجرا و راه اندازی قراردادهای هوشمند و اپلیکیشنهای غیر متمرکز خود استفاده میکنند.
همچنین در پلتفرمهای رقیب مثل موناکس (Monax) نیز از زبان برنامه نویسی سالیدیتی برای ساخت قرارداد هوشمند در شبکههای بلاک چین خصوصی استفاده میشود. موناکس از بلاک چین هایپرلجر Burrow استفاده میکند که پروتکل تندرمینت (Tendermint) نقش برقراری الگوریتم اجماع را در آن بر عهده دارد. علاوه بر این، سوییفت (Swift) نیز یک الگوریتم اجماع به نام اثبات مفهوم توسعه داده است که بر پایه بلاک چین Burrow فعالیت و از زبان برنامه نویسی Solidity استفاده میکند.
ماشین مجازی اتریوم
ماشین مجازی اتریوم یا Ethereum Virtual Machine که به اختصار EVM نیز نامیده میشود، یک محیط مناسب برای فعالیت و اجرای قراردادهای هوشمند اتریومی ساخته شده با زبان برنامه نویسی سالیدیتی ایجاد میکند. مسئولیت اصلی این ماشین مجازی تامین امنیت و اجرای برنامههای نوشته شده با زبان برنامه نویسی Solidity از طریق شبکهای از نودهای عمومی بین المللی است.
ماشین مجازی اتریوم به کمک ساختار غیر متمرکز خود و فناوری بلاک چین جلوی حملات DDoS را میگیرد و اطمینان حاصل میکند که نرم افزارهای مختلف به وضعیت دادههای یکدیگر دسترسی ندارند و در عین حال ارتباط میان آنها را به شکلی غیرمخرب برقرار نگه میدارد.
قرارداد هوشمند
منظور از قرارداد هوشمند یک نرم افزار یا برنامه نوشته شده با کدهای سالیدیتی به عنوان یک زبان برنامه نویسی سطح بالا و قابل درک برای انسان است که ابتدا درون ماشین مجازی اتریوم کامپایل میشود و بعد برای اجرایی شدن آن را به بلاک چین Ethereum ارسال میکنند.
قرارداد هوشمند به کاربران حوزه وب 3 و دیفای کمک میکند که تراکنشهای خود را بدون نیاز به یک واسطه و به صورت کاملا خودکار و مطمئن انجام دهند. گفتنی است که تراکنشهای انجام شده همگی قابل بررسی و تغییرناپذیر هستند.
البته از زبانهای دیگری مثل Serpent و Mutan نیز برای نوشتن قراردادهای هوشمند استفاده میشود، اما به طور کلی بیشترین زبان برنامه نویسی استفاده شده در اسمارت کانترکتها سالیدیتی محسوب میشود و همچنین استفاده اصلی Solidity در شبکه اتریوم و ماشین مجازی آن است.
مزایای زبان برنامه نویسی سالیدیتی
زبان برنامه نویسی Solidity علاوه بر تمام مشخصات گفته شده، مزایای منحصربهفرد دیگری نیز دارد که آن را برای نوشتن قراردادهای هوشمند بر بستر شبکه اتریوم در جایگاهی بالاتر از دیگر زبانها قرار میدهد. در ادامه فهرستی از این مزایا را بررسی میکنیم.
- برنامه نویسی به زبان سالیدیتی علاوه بر انواع داده ساده و معمول، از نوع دادههای پیچیده و متغیرهای عضوی نیز پشتیبانی میکند. به عنوان مثال میتوان به ساختارهای دادهای همچون Mapping اشاره کرد که با زبان برنامه نویسی سالیدیتی سازگار هستند.
- برای اطمینان از انتخاب درست نوع داده در زمان برنامه نویسی، زبان سالیدیتی یک رابط باینری اپلیکیشن یا ABI ارائه میدهد. در زمان کامپایل شدن کد، اگر کامپایلر با نوع داده اشتباهی برای هر کدام از متغبرها روبهرو شود، رابط ABI ارور میدهد.
- سالیدیتی از سیستم وراثت چندگانه خطیسازی C3 استفاده میکند، به این معنی که اگر وراثت چندگانه داشته باشیم، سالیدیتی با استفاده از این الگوریتم تصمیم میگیرد کدام مسیر را انتخاب کند.
- زبان برنامه نویسی سالیدیتی برای تبدیل نوشتار کاربرمحور به زبان قابل درک برای ماشین (کامپیوتر) از سازوکار Natural Language Specification استفاده میکند.
انواع داده در سالیدیتی
طراحی زبان برنامه نویسی Solidity به گونهای است که شباهتهای زیادی با چند مورد از محبوبترین زبانهای سطح بالا همچون سی پلاس پلاس، پایتون و جاوااسکریپت دارد. زبان برنامه نویسی سالیدیتی از انواع دادههای مختلف دیده شده در دیگر زبانهای شیگرا پشتیبانی میکند که از این دسته میتوان به موارد زیر اشاره کرد:
- نوع داده بولین (Boolean): نوع داده بولین زمانی که شرط درست باشد پاسخ 1 را در خروجی ارائه میدهد و زمانی که شرط اشتباه باشد پاسخ آن 0 است. هر نوع شرط یا پرسش دوجوابی میتوان برای نوع داده بولین در زبان برنامه نویسی سالیدیتی تعیین کرد.
- نوع داده اینتجر (Integer): میتوانید دادههای اینتجر را به صورت امضا شده و امضانشده در زبان برنامه نویسی سالیدیتی استفاده کنید. همچنین از کیوردهای uint8 و uint256 نیز پشتیبانی میشود.
- نوع داده استرینگ (String): به کمک علامت کوتیشن مارک یکی یا دو تایی میتوان دادههای متنی یا استرینگ را در زبان برنامه نویسی Solidity مشخص کرد.
- مادیفایر (Modifier): قبل از آنکه کد یک قرارداد هوشمند اجرا شود، معمولا مادیفایر با یک بررسی کوتاه اطمینان حاصل میکند که تمام شروط برنامه نوشته شده توسط زبان سالیدیتی اجرا شدهاند.
- آرایه (Array): سینتکس و نحوه نوشته شدن زبان برنامه نویسی سالیدیتی شبیه به دیگر زبانهای شیگرا است و از آرایههای تک و چند بعدی پشتیبانی میکند.
علاوه بر تمام این موارد، در زبان برنامه نویسی Solidity شما میتوانید با نوع داده شمارشی Enum ساختارهای داده را به صورت یک نقشه کلی طراحی کنید و همچنین دادهها را به شکلی هش کنید که در خروجی دادههای ذخیره شده در فضای مورد نظر را بازتاب دهد.
سالیدیتی چگونه کار میکند؟
زیبایی یک اکوسیستم همچون اتریوم به این است که رمزارزها و اپلیکیشنهای غیر متمرکز به شیوههای گوناگون میتوانند از آن استفاده کنند. قراردادهای هوشمند این امکان را به وجود آوردهاند که برای تمام مشاغل و سازمانها تکنولوژیهای خاص و منحصربهفرد بر بستر شبکه اتریوم شاخته شود.
هر ساله میلیاردها دلار در سراسر دنیا خرج راهکارهای جدید بلاک چینی میشود که بسیاری از این راهکارها توسط زبان برنامه نویسی سالیدیتی نوشته شدهاند. قراردادهای هوشمند نوشته شده توسط بان برنامه نویسی Solidity را میتوان به نوعی راه خودکار کردن فرآیندهای کاری و غیرکاری میان افراد مختلف دانست. به این ترتیب اشخاص میتوانند با خاطری آسوده از مورد کلاهبرداری قرار نگرفتن یا دسترسی نداشتن به توکنهای خود، مشغول ایجاد و اجرای تراکنشهای مالی شوند.
یکی از عوامل اجرای موفقیتآمیز کدهای نوشته شده با سالیدیتی ماشین مجازی اتریوم یا EVM است. EVM به عبارتی یک کامپیوتر مجازی بر بستر بلاک چین است که ایدهها و افکار توسعه دهندگان را به شکل کد اپلیکیشنهای قابل اجرا در بلاکچین در میآورد.
اما زیر این ظاهر ساده، زبان برنامه نویسی سالیدیتی در حقیقت کدی قابل درک و سطح پایین برای کامپیوتر لازم دارد که روی EVM اجرا میشود. این کد سطح بالا و نوشته شده در سطح درک انسانها توسط یک کامپایلر به دستورالعملهایی برای پردازنده کامپیوتر تبدیل میشود. پلتفرمهای مختلفی وجود دارند که سرویس کامپایل رایگان سالیدیتی را ارائه میدهند؛ از جمله این پلتفرمها میتوان به کامپایلر آنلاین ریمیکس (Remix) و کامپایلر دستور خطی آفلاین کامپیوتر شخصی اشاره کرد.
قراردادهای هوشمند سازگار با EVM یک سری محدودیت نیز دارند که باید مد نظر قرار بگیرند. یکی از این محدودیتهای بسیار مهم دسترسی کم به توابع کتابخانهای برای تحلیل و تبدیل ساختارهای JSON یا محاسبات Float است.
توابع عمومی و خصوصی در زبان برنامه نویسی سالیدیتی
توابع عمومی از نظر دسترسی شبیه به API ها هستند و هر کسی در دنیا میتواند به آنها دسترسی داشته باشد و در کد خود یک تابع عمومی را فراخوانی کند. به طور کلی توابع عمومی برای فرآیندههای اشتراکی طراحی میشوند که تمام کاربران شبکه به آنها احتیاج دارند.
به عنوان مثال، یک تابع عمومی میتواند به تمام کاربران شبکه اجازه دهد مقدار کل موجودی حساب خود را مشاهده کنند. یکی از روشهای معمول هک و نفوذ غیر مجاز به اطلاعات قراردادهای هوشمند، استفاده نادرست از توابع عمومی است.
نوشتن قراردادهای هوشمند به کمک زبان برنامه نویسی Solidity نسبتا آسان است، اما تامین امنیت یک کد سالیدیتی در قالب اسمارت کانترکت سختتر از آن است که به نظر میرسد. به عنوان مثال اگر تابع برداشت در یک قرارداد هوشمند به اندازه کافی ایمن طراحی نشده باشد، یک هکر میتواند با دستکاری تابع متغبر داراییهای حسابهای مالی کاربران را خالی کند.
هکری دیگر میتواند تابع برداشت را برای واریز پول به حسابی دیگر فراخوانی کند و بعد آن را در یک حلقه قرار دهد تا تمام موجودی حساب برداشت شود.
در نقطه مقابل توابع عمومی، یک تابع خصوصی فقط از درون خود قرارداد هوشمند مرتبط با آن قابل فراخوانی است. دستورالعملهای درون توابع خصوصی به گونهای نوشته میشوند که تنها در صورت فراخوانی تابعهای دیگر درون زنجیره قابل اجرا باشند. به این ترتیب دستکاری و نفوذ بازیگران بد در کد قرارداد هوشمند سختتر میشود.
استانداردها و منطق کدنویسی
قراردادهای هوشمند نوشته شده توسط زبان برنامه نویسی سالیدیتی میتوانند بر مبنای هر یک از استانداردهای به کار رفته در اتریوم و دیگر محیطهای سازگار با EVM فعالیت کنند. استانداردهای مختلف در حقیقت تغیین میکنند که یک قرارداد هوشمند نوشته شده با زبان برنامه نویسی سالیدیتی چه رفتاری در اپلیکیشن ساخته شده بر شبکه اتریوم داشته باشد. نام این استانداردها با ERC شروع میشود که خود مخفف Ethereum Request for Comments است. ساختار استانداردهای زبان Solidity بر اساس فایلهای راهنمایی است که توابغ لازم و محدودیتهای برنامه نویسی پیشفرض کد را در خود دارند. استانداردهای ERC که نحوه عملکرد کد برنامه نویسی شده به زبان سالیدیتی را مشخص میکنند، موارد زیر را شامل میشوند:
- استاندارد ERC20
- استاندارد ERC165
- استاندارد ERC721
- استاندارد ERC223
- استاندارد ERC621
- استاندارد ERC777
- استاندارد ERC827
- استاندارد ERC884
- استاندارد ERC865
- استاندارد ERC1155
زبان برنامه نویسی سالیدیتی برای برقراری ارتباط میان قراردادهای هوشمند راههای مختلفی دارد. همچنین شیوه ذخیره داده در اسمارت کانترکت نیز توسط سالیدیتی تعیین میشود. منطق و داده در قرارداد هوشمند توسط زبان برنامه نویسی Solidity از هم جدا میشوند.
تغییرناپذیری قراردادهای هوشمند سالیدیتی
بعد از راه اندازی کد یک قرارداد هوشمند نوشته و کامپایل شده با زبان برنامه نویسی سالیدیتی بر بستر بلاک چین، دیگر هرگز نمیتوان آن کد را تغییر داد. این یعنی تک تک خطهای برنامه باید همانطور که توسعه دهنده میخواهد عمل کنند، وگرنه در صورت نفوذ بازیگران بد به کد، عواقب بدی در انتظار کاربران آن قرارداد هوشمند خواهد بود.
از آنجا که بلاک چین اتریوم نیز از این فرآیند استفاده میکند و قراردادهای هوشمند ارسال شده روی آن تغییرناپذیر هستند، هرگز نمیتوان دادهها و کدهای نوشته شده بر بستر آن را تغییر داد. یک راه رفع این مشکل، استفاده از رابط پروتکل است که قرارداد قدیمی را به یک قرارداد جدید با کد درست هدایت میکند. به این شیوه میتوان نسخه جدید قرارداد را اجرایی و باگهای کد را رفع کرد.
هزینه کارمزد و گس فی استفاده از زبان برنامه نویسی Solidity
برای استفاده از زبان برنامه نویسی سالیدیتی بر بستر شبکه اصلی اتریوم هزینههای کارمزد اضافهای وجود دارد که باید پرداخت شود. برخی از این هزینههای اضافه بر اساس گس فی اتریوم تعیین میشوند و در حقیقت به ماینرها (یا اعتبارسنجهای شبکه پس از آپگرید مرج اتریوم) تعلق دارند تا بتوانند از تامین امنیت بلاک چین کسب درآمد داشته باشند.
در هنگام نوشتن قراردادهای هوشمند، باید همواره در نظر داشته باشیم که هزینه کارمزد نقشی تعیینکننده در میزان کارآمدی قرارداد هوشمند ما خواهد داشت. از آنجا که برای ذخیره هر ذره داده بر بستر بلاک چین نیاز به صرف هزینه است، اجرای کدهای زبان برنامه نویسی Solidity نیز هزینه دارند. اسمارت کانترکتهایی که گس فی بالایی دارند به احتمال زیاد در بلندمدت بین کاربران محبوبیت خود را از دست خواهند داد.
بهبود کد سالیدیتی به منظور کاهش هزینه گس اتریوم میتواند در زمان اجرا شدن قرارداد هوشمند به محبوبیت و استفاده بیشتر آن ختم شود. از محبوبترین روشهای کاهش هزینه گس میتوان به استفاده از کتابخانهها و همچنین استفاده از توابع کمتر اشاره کرد. معمولا از کتابخانهها برای کاهش Bytecode استفاده میشود.
به جای اضافه کرد بایت کدهای بیهوده و بیشتر به کد قرارداد هوشمند زبان برنامه نویسی سالیدیتی، میتوان از توابع پیشفرض کتابخانهها استفاده کرد. به این روش حجم قرارداد هوشمند پایینتر خواهد بود و همچنین هر چه تعداد توابع کمتر باشد، بایتکدهای کمتری نیز مصرف میشود و هزینه بازبینی و بررسی امنیت کد کاهش پیدا خواهد کرد.
استفاده از سالیدیتی در شبکه اتریوم چگونه است؟
از زبان برنامه نویسی سالیدیتی برای ساخت قرارداد هوشمند توکن های مثلی و غیر مثلی در بستر شبکه اتریوم و دیگر بلاک چینهای سازگار با EVM استفاده میشود. البته استاندارد ساخت توکنهای مثلی با استاندارد به کار رفته در طراحی و ساخت توکنهای غیر قابل معاوضه یا ان اف تی (NFT) فرق دارد و هر کدام به شکلی متفاوت اجرا میشوند.
به این طریق نیاز کاربران اکوسیستم اتریوم و هر استفادهای که در این فضا داشته باشند، با استانداردها و راهکارهای مختلف برطرف خواهد شد. سالیدیتی این امکان را برای کاربران به وجود میآورد که در Ethereum توکنهای مالی خود را با توکن های غیر مثلی معامله کنند. کاربران میتوانند این NFTها را در ابتدا مینت یا ضرب کنند و بعد برای کسب درآمد منفعل آنها را به استخرهای ییلد فارمینگ بسپارند.
سازمان غیر متمرکز مستقل یا دائو (DAO) نیز به لطف وجود قراردادهای هوشمند نوشته شده توسط زبان برنامه نویسی سالیدیتی ممکن میشود. دائو در حقیقت نوع جدیدی از ساختار سازمانی برای اجماع عمومی میان تمام سهامداران و سرمایه گذاران یک شرکت است که اجازه میدهد تمام اعضا در پلتفرمی آنلاین دور همدیگر جمع شوند و برای تصمیمات مهم دائو رایگیری کنند.
به کمک سالیدیتی تمام عملیاتها و فرآیندهای درونی دائو خودکار میشوند. از جمله نمونههای خودکارسازی فرآیند در دائو میتوان به رایگیری برای تصمیمات مهم و همچنین اعتباربخشی به اعضای سازمان غیر متمرکز مستقل برای مشارکت آنها در این فرآیند اشاره کرد.
بهترین دوره آموزش زبان سالیدیتی چیست؟
مثل بیشتر زبانهای برنامه نویسی، یادگیری سالیدیتی نیز نیازمند صرف وقت و انرژی است. اما موسسات آموزشی متعددی وجود دارند که با ارائه دورههای رایگان و پولی آموزش زبان برنامه نویسی سالیدیتی (Solidity) سعی در هموار کردن این مسیر برای توسعه دهندگان آینده بلاک چین دارند. با توجه به اینکه شرکت در دورهای غیر رایگان برای کاربران ایرانی معمولا آسان نیست، در ادامه فهرستی از بهترین دورههای رایگان آموزش زبان برنامه نویسی رایگان را بررسی میکنیم. همچنین گفتنی است که صرافی ارز دیجیتال بیت 24 در آینده نزدیک دورهای جامع از آموزش زبان برنامه نویسی سالیدیتی (Solidity) به زبان فارسی را به طور اختصاصی ارائه خواهد داد.
یودمی – ساخت و عرضه اولیه رمز ارز اختصاصی با سالیدیتی
در این دوره رایگان آموزشی سالیدیتی هر چه که برای راه انداختن پروژه عرضه اولیه سکه (ICO) خود لازم دارید، آموزش داده میشود. اگر به طور کامل این دوره را ببینید، میتوانید به عنوان پروژه خود یک توکن کامل با استاندارد ERC-20 سازگار با بلاک چین اتریوم بسازید. علاوه بر این، دوره رایگان یودمی به شما کمک میکند درک درستی از فناوری پشت بلاک چین، اپلیکیشنهای غیر متمرکز، شبکه اتریوم و پایه زبان برنامه نویسی قرارداد هوشمند سالدیتی به دست بیاورید.
محتوای دوره: این دوره به سه سخنرانی بزرگ تقسیم شده است که هر کدام موضوع متفاوتی را به شما یاد میدهد.
- در اولین سخنرانی، درباره اتریوم، فناوری بلاک چین و قراردادهای هوشمند یاد میگیرید.
- در سخنرانی دوم یاد میگیرید که چطور صفحه وب سایت عرضه اولیه سکه را با ReactJS بسازید.
- در نهایت سخنرانی سوم به شما یاد میدهد که چطور وب سایت عرضه اولیه سکه را با قرارداد هوشمند نوشته شده ترکیب کنید.
برای شرکت در دوره آموزش رایگان سالیدیتی و راه اندازی عرضه اولیه سکه یودمی میتوانید به وب سایت udemy.com مراجعه کنید.
یودمی – یادگیری سالیدیتی در 30 دقیقه
اگر از قبل درکی نسبی از زبانهای برنامه نویسی دارید و میخواهید خیلی سریع توسعه بلاک چین را شروع کنید، این دوره بهترین انتخاب ممکن برای یادگیری زبان سالیدیتی است. دوره 30 دقیقهای یودمی یک شروع سریع و فوق العاده برای برنامه نویسان در نوشتن قراردادهای هوشمند محسوب میشود که به کمک آن روش آسان نوشتن یک قرارداد هوشمند بر بستر شبکه ترون و اتریوم را یاد میگیرید. همچنین راه اندازی یک محیط توسعه یکپارچه برای سالیدیتی، مبانی توسعه قرارداد هوشمند و مفاهیم پیچیدهتر زبان Solidity در این دوره مرور میشود.
محتوای دوره: این دوره کوتاه سه بخش اصلی دارد.
- در ابتدا به صورت مقدماتی درباره محیط توسعه یکپارچه ریمیکس (Remix)، قراردادهای هوشمند ساده و محیط توسعه سالیدیتی گاناش (Ganache) یاد میگیرید.
- در بخش دوم مفاهیم مقدماتی و پیچیدهتر زبان برنامه نویسی سالیدیتی آموزش داده میشود.
- در آخر نیز یاد میگیرید که چطور توکنهای ERC20 را در شبکه آزمایشی کووان (Kovan Testnet) پیاده کنید.
برای شرکت در دوره آموزش رایگان یادگیری سالیدیتی در 30 دقیقه یودمی میتوانید به صفحه دوره Learn Solidity In 30 Mins مراجعه کنید.
لینکدین لرنینگ – بلاک چین: یادگیری سالیدیتی
به لطف محبوبیت ارزهای دیجیتال و جذابیت حوزه امور مالی غیر متمرکز یا دیفای، این روزها افراد بسیاری درباره بلاک چین و پتانسیلهای آن صحبت میکنند. یکی از جذابیتهای این فناوری مدرن، ممکن کردن انتقال دادههای حساس توسط کاربران و بدون نیاز به شخص واسطه است. برنامه نویسها از زبان سالیدیتی برای استفاده از قابلیتهای شبکه اتریوم و ساخت اپلیکیشنهای غیر متمرکز در حوزه بلاک چین استفاده میکنند. در این دوره آموزش رایگان سالیدیتی یاد میگیرید که چطور با این زبان برنامه نویسی یک اپلیکیشن ساده متکی به قرارداد بنویسید.
امانوئل هنری (Emmanuel Hemri) دوره آموزش سالیدیتی را با توضیح مفاهیم بلاک چین و مبانی قرارداد هوشمند شروع میکند که در حقیقت تراکنشهای از پیش نوشته شده با کد برنامه نویسی هستند. علاوه بر این در دوره رایگان بلاک چین لینکدین میتوانید همه چیز را درباره اکوسیستم سالیدیتی یاد بگیرید که از جمله آنها میتوان به سینتکس و مفاهیم پیچیدهتر مثل مپینگ اشاره کرد. همچنین بعد از یاد گرفتن این مفاهیم، از آنها برای ساختن اولین قرارداد هوشمند خود استفاده خواهید کرد.
محتوای دوره: دوره رایگان آموزش سالیدیتی لینکدین 4 بخش کلی دارد.
- در بخش اول دوره معرفی میشود و همچنین یاد میگیرید محیط توسعه این زبان را راه اندازی کنید.
- در بخش دوم مفاهیم ساده و مبانی سالیدیتی آموزش داده میشود.
- بخش سوم به آموزش نحوه ساخت اولین قرارداد هوشمند با استفاده از زبان برنامه نویسی سالیدیتی اختصاص دارد.
- در آخرین بخش دوره آموزشی لینکدین، سالیدیتی عمیقتر توضیح داده میشود تا درک بهتری از زیر و بم آن به دست بیاورید.
برای شرکت در دوره آموزش رایگان بلاکچین: یادگیری سالیدیتی لینکدین لرنینگ میتوانید به صفحه دوره Blockchain: Learning Solidity مراجعه کنید. مراجعه کنید.
یودمی – دوره کوتاه سالیدیتی: چطور توسعه دهنده بلاک چین شویم؟
این دوره کوتاه و رایگان در عرض سه ماه شما را برای شروع توسعه در بستر بلاک چین آمده میکند. از زمان عرضه بیت کوین تاکنون، از فناوری بلاک چین در پروژههای متعدد و تاثیرگذاری همچون پرداختهای برون مرزی، بازیهای بلاک چینی و امور مالی غیر متمرکز استفاده شده است. برای شروع این دوره باید از قبل دانش زمینهای درباره برنامه نویسی داشته باشید، اما جای نگرانی نیست، چرا که یک قالب کلی هم همراه دوره به شما داده میشود که میتوانید آن را دانلود و برای پیشروی در روند یادگیری استفاده کنید.
علاوه بر این، پس از پایان دوره از عهده کارهای متعددی برخواهید آمد که از جمله آنها میتوان به موارد زیر اشاره کرد: ساخت یک اپلیکیشن غیر متمرکز، راه اندازی یک توکن ERC20 اتریومی بر بستر شبکه آزمایشی کووان، کسب دانش کافی برای ساختن دپها، متصل کردن اپلیکیشنهای غیر متمرکز به متامسک با استفاده از Ethersjs، ساخت کانال پرداختی که اجازه میدهد یک وب سایت فروشگاهی به پرداخت با توکنهای ERC20 مجهز شود و در آخر برقراری ارتباط با قرارداد هوشمند با استفاده از یک رابط کاربری.
محتوای دوره: در مجموع سه قسمت کلی در این دوره وجود دارد.
- در قسمت اول معرفی فناوری بلاک چین و شیوه فعالیت آن را یاد میگیرید.
- در قسمت دوم محیط توسعهای برای ساخت قرارداد هوشمند سالیدیتی راه اندازی میکنید.
- قسمت سوم و آخر این دوره کوتاه به شما یاد میدهد که چگونه اپلیکیشنهای غیر متمرکز بسازید.
برای شرکت در این دوره کوتاه آموزش رایگان سالیدیتی یودمی میتوانید به وب سایت این آکادمی مراجعه کنید.
کورسرا – قراردادهای هوشمند ارائه شده توسط دانشگاه ایالتی نیویورک
این دوره بخشی از دوره تخصصی و طولانیتر بلاک چین در وب سایت کورسرا است که کمک میکند یک قرارداد هوشمند را کدنویسی، طراحی و راه اندازی کنید. با این دوره تمام دانشجویان میتوانند به درکی خوب از المانهای پردازشی فناوری بلاک چین برسند. همچنین استفاده از عملیاتهای تعریف شده توسط کاربر نیز آموزش داده میشود. با مبانی زبان برنامه نویسی سالیدیتی که در دوره کورسرا یاد داده میشوند، میتوانید سیستمهایی کارآمد، خودکار و شفاف توسعه دهید.
محتوای دوره: دوره قرارداد هوشمند کورسرا به 4 زیربخش تقسیم شده است که هر کدام در طول یک هفته آموزش داده میشوند.
- در طول هفته اول مفاهیم اولیه مرتبط با قراردادهای هوشمند را فرا میگیرید.
- با شروع هفته دوم، زبان برنامه نویسی سالیدیتی و تمام زیر و بم آن به شما آموزش داده میشود.
- در هفته سوم همه دانش خود را در این زمینه کنار همدیگر قرار میدهید و روی توسعه یک قرارداد هوشمند کاربردی تمرکز میکنید.
- در هفته آخر نیز کورسرا شما را به یادگیری و تمرین نکات مختلف در زمینه قراردادهای هوشمند مشغول میکند.
برای شرکت در دوره آموزش رایگان سالیدیتی برای ساخت قرارداد هوشمند کورسرا میتوانید به وب سایت این آکادمی مراجعه کنید.
توتوریالزپوینت – آموزش سالیدیتی
سالیدیتی یک زبان برنامه نویسی سطح بالا و شیگرا است که برنامه نویسهای تازهکار میتوانند به کمک دوره آموزشی Tutorialspoint آن را یاد بگیرند. در ابتدای دوره مفاهیم اولیه لازم گفته میشود و بعد مدرس سراغ موضوعات پیشرفتهتر سالیدیتی میرود. در انتهای این دوره بدون شک درکی خوب و عمیق از سالیدیتی خواهید داشت و تجربه خوبی به دست میآورید. البته گفتنی است که قبل از شروع این دوره باید با مفاهیم بلاک چین و برنامه نویسی عمومی آشنا باشید.
محتوای دوره: این دوره تمام مفاهیم ساده تا پیشرفته سالیدیتی را در چهار بخش کلی بررسی میکند و آموزش میدهد.
- در بخش اول، تمام اطلاعات اولیه برای برنامه نویسی به زبان سالیدیتی را یاد میگیرید که از جمله آنها میتوان به حلقه، متغیرها، استرینگ، آرایه، توابع محاسباتی، تبدیل و موضوعات متعدد دیگر اشاره کرد.
- در بخش بعدی مبانی اولیه سالیدیتی و شیوه نوشتن برنامه به این زبان آموزش داده میشود.
- بخش سوم به الگوهای عمومی طراحی اپلیکیشن و قرارداد هوشمند با زبان سالیدیتی اختصاص دارد.
- در بخش چهارم تمام موضوعات پیشرفتهتر سالیدیتی بررسی میشود.
برای شرکت در دوره آموزش رایگان سالیدیتی توتوریالزپوینت میتوانید به وب سایت این آکادمی مراجعه کنید.
گیکسفورگیکس – آشنایی با سالیدیتی
دوره آشنایی با سالیدیتی گیکس فور گیکس در این وب سایت برای عموم مردم رایگان است. در طول این دوره با مفاهیم ابتدایی و پیشرفته مربوط به زبان برنامه نویسی سالیدیتی آشنا خواهید شد. مطالب این دوره به شیوهای نوشته شدهاند که حتی کاربران تازهوارد و ناآشنا با برنامه نویسی هم برای دنبال کردن آنها و یادگیری دچار مشکل نشوند.
محتوای دوره: این دوره بخشهای بسیار زیادی دارد و در هر درس موضوع متفاوتی تدریس میشود، اما در مجموع 4 بخش کلی دارد.
- در ابتدا با زبان برنامه نویسی سالیدیتی آشنا میشوید.
- سپس مبانی اولیه Solidity و مفاهیم ساده این زبان را یاد میگیرید.
- سپس یاد میگیرید چطور یک قرارداد هوشمند بنویسید که آدرس و موجودی حساب شخص را در خروجی ثبت میکند.
- در اواخر دوره وارد مباحث پیشرفتهتر میشوید و یاد میگیرید که چطور با زبان برنامه نویسی پایتون یک بلاک چین ساده طراحی کنید.
برای شرکت در دوره آموزش رایگان آشنایی با سالیدیتی گیکس فور گیکس میتوانید به وب سایت این آکادمی مراجعه کنید.
سالیدیتی داکس – آموزش سالیدیتی
اگر دنبال کاملترین آموزش از تمام جزئیات زبان برنامه نویسی سالیدیتی باشید، بدون شک منبعی بهتر از Solidity Docs پیدا نخواهید کرد. در وب سایت مستندات سالیدیتی تمام مفاهیم اولیه، تعارف زبانی و کامپایلرها آموزش داده شدهاند. این وب سایت کاملترین مرجع یادگیری سالیدیتی محسوب میشود، اما توجه داشته باشید که مطالب به صورت متنی آموزش داده شدهاند و یادگیری آنها کمی سختتر از دورههای ویدیویی است.
محتوای دوره: محتوای مستندات زبان سالیدیتی در وب سایت آن از قرار زیر است.
- در ابتدا مبانی سالیدیتی را یاد خواهید گرفت.
- سپس تعاریف کلی مرتبط به این زبان برنامه نویسی از جمله انواع سالیدیتی، قراردادها، اسمبلی داخلی آن و موضوعات دیگر ذکر میشوند.
- پس از آن، بیشتر در باره کامپایلر به شما آموزش داده خواهد شد.
- در قسمت بعد میتوانید مفاهیم پیچیدهتر سالیدیتی از جمله طرح کلی یک متغیر وضعیت در محل ذخیره، شمای دادههای مخابره شده، مپینگ و بهبود وضعیت قرارداد را مطالعه کنید.
- در آخر نیز اطلاعات جانبی لازم برای توسعه بهتر قراردادهای هوشمند به زبان برنامه سالیدیتی ارائه خواهد شد.
برای مشاهده مستندات اصلی سالیدیتی میتوانید به وب سایت docs.soliditylang.org مراجعه کنید.
سخن پایانی ؛ آیا سالیدیتی ارزش یادگیری دارد؟
سالیدیتی در اکوسیستم اتریوم و دیگر شبکههای سازگار با آن، چیزی فراتر از یک زبان برنامه نویسی معمولی است. استانداردهای آینده فناوری تکنولوژی و سرنوشت این حوزه به طور فزایندهای به ساختار قراردادهای هوشمند ساخته شده توسط این زبان برنامه نویسی بستگی دارد و توسعه دهندگان به کمک Solidity جایگاه اپلیکیشن های غیر متمرکز خود را در آینده دیفای تعیین میکنند.
به لطف تعداد بسیار زیاد توسعه دهندگان جامعه متن باز که سرگرم افزایش امنیت و بهبود کارکرد سالیدیتی هستند، هزاران اپلیکیشن بر بستر شبکه اتریوم به این زبان برنامه نویسی برای جذب کاربران بیشتر نیازمند هستند. با طراحی و ساخته شدن استانداردهای جدید سالیدیتی برای ساخت قرارداد هوشمند، بدون شک استفاده از این زبان برنامه نویسی در اکوسیستم اتریوم به عنوان بزرگترین بلاک چین کاربردی دنیای کریپتو بیشتر و ایمنتر خواهد شد. بنابراین یادگیری آن نیز برای علاقه مندان به حوزه بلاک چین و همچنین توسعه دهندگانی که قصد پیشرفت و نقش داشتن در آینده دنیای برنامه نویسی را دارند، امری حیاتی و مهم به نظر میرسد.
تهیه شده در بیت 24