تا پایان تخفیف

آموزش سالیدیتی (Solidity)

آموزش زبان برنامه‌نویسی سالیدیتی از مجموعه دوره‌های آموزش برنامه نویسی مکتب خونه یکی از بهترین‌ترین دوره‌های آموزشی برای این زبان محبوب است. با استفاده از این زبان می‌توانیم در بستر بلاک‌چین اتریوم، ترون، اتریوم کلاسیک ...

پرطرفدار
گواهی‌نامه
4.5 (22 امتیاز)
915 دانشجو
مقدماتی
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
نظرات کاربران
درباره استاد

آنچه در این دوره می‌آموزید

مقدمات سالیدیتی

ساختارها در سالیدیتی

متغیرهای ویژه در سالیدیتی

توابع در سالیدیتی

الگوهای سالیدیتی

سالیدیتی پیشرفته

محتوای دوره

8 فصل 56 جلسه 8 ساعت ویدیو
فصل اول: معرفی زبان برنامه‌نویسی سالیدیتی
فصل دوم: مقدمات سالیدیتی
فصل سوم: ساختارها در سالیدیتی
فصل چهارم: متغییرهای ویژه در سالیدیتی
فصل پنجم: توابع در سالیدیتی
فصل ششم: الگوهای سالیدیتی
فصل هفتم: سالیدیتی پیشرفته
فصل هشتم: پروژه پایانی

پیش‌نیاز‌ها

پیش‌نیاز این دوره درک مفاهیم بلاک چین است (دوره بلاک چین و بیت کوین به زبان ساده جادی)

درباره دوره

آموزش زبان برنامه‌نویسی سالیدیتی از مجموعه دوره‌های آموزش برنامه نویسی مکتب خونه یکی از بهترین‌ترین دوره‌های آموزشی برای این زبان محبوب است. با استفاده از این زبان می‌توانیم در بستر بلاک‌چین اتریوم، ترون، اتریوم کلاسیک و بایننس اسمارت چین قرارداد هوشمند بنویسیم. همچنین با استفاده از مفاهیم این دوره آموزش سالیدیتی قادر خواهیم بود قراردادهای هوشمند، توکن‌ها، برنامه‌های غیرمتمرکز و 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 خام ارائه دهد.

اطلاعات بیشتر

امتیاز و نظرات کاربران

4.5

از مجموع 22 امتیاز

7 نظر

2 ماه پیش

ممنونم بابت دوره ی خوبتون

محمدرضا مافی

محمدرضا مافی

3 ماه پیش

عالی

محمد علی اسدی

محمد علی اسدی

7 ماه پیش

خیلی مفید و عالی بود

نوید جاوید

نوید جاوید

10 ماه پیش

خیلی پرمحتوا بود، و متناسب با سطح مقدماتی طراحی شده بود. ۴ عمل اصلی یک اسمارت کنتراکت روی بستر اتریوم (توکن سازی، رای گیری، بانک، حراج) را به صورت عملیاتی آموزش دادند. مدرس آقای دهقانی بسیار مسلط وخوش بیان هستند. صددرصد بهکسانی که آشنایی اولیه با بلاکچین دارند و در مورد پشت صحنه فنی آن کنجکاوند، این دوره رو توصیه میکنم

حامد حنیف

حامد حنیف

1 سال پیش

سلام. با تشکر از استاد دوره که برای دوره انرژی گذاشته . به نظرم این دوره برای شروع بلاکچین دولوپر شدن دوره خوبیه و مطالبی بیشتر از صرف زبان سالیدیتی داره که میتونه برای بعد از دوره هم مسیر دهی کنه.

حسین زارعی

حسین زارعی

1 سال پیش

سلام. من اول میخواستم برای یادگیری سالیدیتی از منابع خارجی شروع بکنم اما هیچ کدام به این صورت که در این دوره هست از پایه شروع نمیکنند. گرچه که باید مبانی برنامه نویسی رو یا حداقل یه زبان برنامه نویسی رو قبل از شروع این آموزش، آموزش دیده باشید تا اینجا سریع پیش برید. مباحث تدریس شده نیز به میزان کافی هست و در آخر هم یه مقدار از سطح ابتدایی بالاتر میرن سمت پیشرفته که خب خوب هست برای کسی که میخواد ادامه بده. کیفیت صدا و تصویر به نسبت خیلی از دوره های دیگه، بسیار خوب هست. در کل من واقعا راضی هستم و ارزش هزینه کردن رو داشت.

سید احمد رضا ابطحی

سید احمد رضا ابطحی

نظرات بیشتر

گواهی‌نامه

آموزش سالیدیتی (Solidity)

پس از گذراندن محتوای دوره به صورت آنلاین (بدون دانلود) در سایت مکتب‌خونه، در صورتی‌ که حد نصاب قبولی در دوره را کسب و تمرین ها و پروژه های الزامی را ارسال کنید، گواهی‌نامه رسمی پایان دوره توسط مکتب‌خونه به اسم شما صادر شده و در اختیار شما قرار می‌گیرد.

قابل اشتراک‌گذاری در

linkdin

دوره‌های پیشنهادی

این دوره در کدام مسیرهای یادگیری است؟

درباره استاد

هومن دهقانی
هومن دهقانی
3 دوره
995 دانشجو
هومن دهقانی , مهندس کامپیوتر و توسعه دهنده نرم افزار و متخصص بلاکچین و فعال حوزه تکنولوژی هست و سابقه همکاری با شرکت های دانش بنیان شیراز و تهران و پروژه های داخلی و خارجی کوچک و بزرگ در حوزه فایننس و برنامه نویسی حوزه فایننس وهمچنین اراءه کارگاه ها و وتدریس مهندسی بلاکچین در دانشگاه شیراز و دانشگاه صنعتی شیراز را در کارنامه دارد و در حال حاضر در کنار فعالیت در پروژه های بین المللی دانشجو مدیریت استراتژیک در دانشگاه تهران هست.

اطلاعات بیشتر

دیگر دوره‌های هومن دهقانی

سوالات پرتکرار

آیا در صورت خرید دوره، گواهی نامه آن به من تعلق می گیرد؟

خیر؛ شما با خرید دوره می توانید در آن دوره شرکت کنید و به محتوای آن دسترسی خواهید داشت. در صورتی که در زمان تعیین شده دوره را با نمره قبولی بگذرانید، گواهی نامه دوره به نام شما صادر خواهد شد.

حداقل و حداکثر زمانی که می توانم یک دوره را بگذرانم چقدر است؟

برای گذراندن دوره حداقل زمانی وجود ندارد و شما می توانید در هر زمانی که مایل هستید فعالیت های مربوطه را انجام دهید. برای هر دوره یک حداکثر زمان تعیین شده است که در صفحه معرفی دوره می توانید مشاهده کنید که از زمان خرید دوره توسط شما تنها در آن مدت شما از ویژگی های تصحیح پروژه ها توسط پشتیبان و دریافت گواهی نامه بهره مند خواهید بود.

در صورت قبولی در دوره، آیا امکان دریافت نسخه فیزیکی گواهی نامه دوره را دارم؟

خیر، به دلیل مسائل زیست محیطی و کاهش قطع درختان، فقط نسخه الکترونیکی گواهی‌نامه در اختیار شما قرار می‌گیرد

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟

بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.

صفحات پربازدید