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

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

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

برگزارکننده:  مکتب‌خونه  مکتب‌خونه
مدرس دوره:
4.7 (10 رای)
سطح: مقدماتی
 پلاس
  
زمان مورد نیاز برای گذراندن دوره:  64 ساعت
مجموع محتوای آموزشی:  8 ساعت ویدئو - 56 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  9 هفته
  
حد نصاب قبولی در دوره:  70 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام

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

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

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

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

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

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

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

پیش‌نیاز‌ها

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

سرفصل‌های دوره آموزش سالیدیتی (Solidity)

فصل اول: معرفی زبان برنامه‌نویسی سالیدیتی

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

  معرفی دوره
مشاهده
"01:35  
  نحوه پیشروی با من در‌‌ طول دوره
"06:01  
  سالیدیتی و منابع مطالعاتی آن
"09:16  
  قرارداد هوشمند چیست؟
"08:58  
  کوییز قرارداد هوشمند
 23.3%    
"05:00  
  آشنایی با remix
"03:45  
  SPDX چیست؟
"03:36  
  کوییز SPDX
 20.9%    
"03:00  
  محیط توسعه یکپارچه چیست؟
"03:15  
  pragma چیست؟
"02:21  
  کوییز درک Pragma
 14%    
"02:00  
  کامنت چیست؟
"01:42  
  کوییز درک Comment
 18.6%    
"04:00  
  اولین قرارداد هوشمند
"05:33  
  تمرین پایانی فصل یک (الزامی)
 23.3%    
"60:00  
فصل دوم: مقدمات سالیدیتی

در اين فصل با مفاهیم برنامه نویسی انواع متغیر، پیاده‌سازی اولیه تابع و ... آشنا می‌شویم.

  مقدار یا Value
"03:04  
  آشنایی با متغیرها - بخش اول
"04:09  
  آشنایی با متغیرها - بخش دوم
"04:14  
  Statement و Expression در سالیدیتی
"02:33  
  کوییز آشنایی با متغیرها
 7.6%    
"05:00  
  کوییز Statement و Expression
 6.9%    
"03:00  
  تمرین آشنایی با متغیر (الزامی)
 7.6%    
"60:00  
  توابع در زبان سالیدیتی
"06:39  
  کوییز تابع
 9.2%    
"04:00  
  تمرین توابع (الزامی)
 7.6%    
"60:00  
  State و Local متغیر در سالیدیتی
"06:08  
  کوییز Sate و Local
 2.3%    
"01:00  
  مفهوم شی گرایی در سالیدیتی
"04:11  
  Visibility در سالیدیتی - بخش اول
"02:01  
  Visibility در سالیدیتی - بخش دوم
"14:32  
  کوییز Visibility
 9.2%    
"04:00  
  عملگر ریاضی در سالیدیتی
"08:50  
  کوییز عملگر ریاضی
 6.9%    
"03:00  
  عملگر منطقی در سالیدیتی - بخش اول
"04:55  
  عملگر منطقی در سالیدیتی - بخش دوم
"06:18  
  کوییز عملگر منطقی
 7.6%    
"05:00  
  عملگر مقایسه در سالیدیتی
"06:43  
  کوییز عملگر مقایسه
 9.2%    
"04:00  
  تصمیم گیری
"08:03  
  کوییز تصمیم گیری
 4.6%    
"02:00  
  تمرین تصمیم گیری (الزامی)
 7.6%    
"60:00  
  حلقه در سالیدیتی - بخش اول
"01:03  
  حلقه در سالیدیتی - بخش دوم
"04:29  
  حلقه در سالیدیتی - بخش سوم
"04:27  
  حلقه در سالیدیتی - بخش چهارم
"01:28  
  حلقه در سالیدیتی - بخش پنجم
"04:53  
  کوییز حلقه
 9.2%    
"04:00  
  رشته در سالیدیتی
"07:24  
  کوییز رشته در سالیدیتی
 4.6%    
"02:00  
فصل سوم: ساختارها در سالیدیتی

در اين فصل با مفاهیم آرایه و متغیر Enum بیشتر آشنا می‌شویم. همچنین در این فصل با ساختارهای Mapping و ... بیشتر آشنا می‌شود.

  Constructor در سالیدیتی
"07:59  
  کوییز Constructor در سالیدیتی
 5%    
"03:00  
  تمرین Constructor در سالیدیتی (الزامی)
 11.1%    
"30:00  
  آرایه در سالیدیتی بخش اول
"04:57  
  آرایه در سالیدیتی بخش دوم
"14:46  
  کوییز آرایه در سالیدیتی
 6.7%    
"06:00  
  تمرین آرایه در سالیدیتی (الزامی)
 11.1%    
"90:00  
  Bytes در سالیدیتی
"13:51  
  کوییز Bytes در سالیدیتی
 8.3%    
"03:00  
  تمرین Bytes در سالیدیتی (الزامی)
 11.1%    
"30:00  
  Enum در سالیدیتی
"06:58  
  کوییز Enum در سالیدیتی
 5%    
"03:00  
  تمرین Enum در سالیدیتی (الزامی)
 11.1%    
"60:00  
  mapping در سالیدیتی - بخش اول
"04:28  
  mapping در سالیدیتی - بخش دوم
"05:56  
  کوییز mapping در سالیدیتی
 6.7%    
"04:00  
  تمرین Mapping در سالیدیتی (الزامی)
 11.1%    
"30:00  
  struct در سالیدیتی
"08:27  
  کوییز Struct در سالیدیتی
 1.7%    
"01:00  
  تمرین Struct در سالیدیتی (الزامی)
 11.1%    
"60:00  
فصل چهارم: متغییرهای ویژه در سالیدیتی

در این فصل از دوره آموزش سالیدیتی با مفاهیم متغیرهای ویژه زبان برنامه نویسی سالیدیتی بیشتر آشنا می‌شویم.

  آشنایی با واحد Ether
"04:18  
  آشنایی با واحد Global Variable
"06:42  
  تمرین متغیرهای ویژه در سالیدیتی (الزامی)
 100%    
"90:00  
فصل پنجم: توابع در سالیدیتی

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

  Modifier در سالیدیتی
"20:56  
  کوییز modifier در سالیدیتی
 12.2%    
"04:00  
  تمرین Modifier (الزامی)
 10.2%    
"60:00  
  View-Pure در سالیدیتی
"09:27  
  Payable در سالیدیتی
"11:36  
  کوییز Payable-Pure-View در سالیدیتی
 12.2%    
"04:00  
  3 تابع Hash در سالیدیتی
"08:12  
  کوییز Hash در سالیدیتی
 12.2%    
"04:00  
  Event
"21:36  
  کوییز Event در سالیدیتی
 12.2%    
"04:00  
  تمرین Event در سالیدیتی (الزامی)
 10.2%    
"60:00  
  Fallback در سالیدیتی
"13:09  
  کوییز Fallback در سالیدیتی
 10.2%    
"05:00  
  تمرین Fallback در سالیدیتی (الزامی)
 20.4%    
"60:00  
فصل ششم: الگوهای سالیدیتی

بررسی الگو های پرداخت در سالیدیتی و متد های Send و Transfer و Call

  Send-Transfer-Call در سالیدیتی
"26:32  
  کوییز Send-Transfer-Call
 54.5%    
"04:00  
  تمرین Send-Transfer-Call (الزامی)
 45.5%    
"120:00  
فصل هفتم: سالیدیتی پیشرفته

آشنایی با مفاهیم ارث بری، کتابخانه ، مدیریت خطا و در پایان نحوه پیاده سازی یک توکن بر اساس استاندارد ERC-20

  Error Handling در سالیدیتی - بخش 1
"02:18  
  Error Handling در سالیدیتی - بخش 2
"11:23  
  کوییز Handling Error در سالیدیتی
 7.7%    
"04:00  
  تمرین Handling Error در سالیدیتی (الزامی)
 12.8%    
"60:00  
  ارث بری در سالیدیتی
"20:51  
  کوییز ارث بری در سالیدیتی
 7.7%    
"04:00  
  تمرین ارث بری در سالیدیتی (الزامی)
 12.8%    
"120:00  
  کتابخانه در سالیدیتی
"21:43  
  کوییز کتابخانه در سالیدیتی
 7.7%    
"04:00  
  تمرین کتابخانه در سالیدیتی (الزامی)
 6.4%    
"60:00  
  ادامه مسیر
"02:57  
  راه اندازی Metamask
"25:41  
  ERC20 - بخش اول
"20:57  
  ERC20 - بخش دوم
"23:02  
  تمرین ساخت توکن ERC-20 (الزامی)
 44.9%    
"300:00  
فصل هشتم: پروژه پایانی

در این فصل 4 پروژه در نظر کرفته شده تا بتونید دانش خودتون رو کامل محک بزنید و با پروژه های واقعی حوزه بلاک چین آشنا بشید.

  سخن پایانی
"06:05  
  پروژه بانک (الزامی)
 20%    
"120:00  
  پروژه توسعه توکن بر بستر bep-20 (الزامی)
 22.9%    
"480:00  
  پروژه حراج یا Auction (الزامی)
 28.6%    
"600:00  
  پروژه رای گیری (الزامی)
 28.6%    
"600:00  

ویژگی‌های دوره

گواهی‌نامه مکتب‌خونه
گواهی‌نامه مکتب‌خونه

در صورت قبولی در دوره، گواهی نامه رسمی پایان دوره توسط مکتب‌خونه به اسم شما صادر شده و در اختیار شما قرار می گیرد.

مشاهده نمونه گواهینامه

ویژگی‌های دوره

خدمات منتورینگ
خدمات منتورینگ

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

ویژگی‌های دوره

پروژه محور
پروژه محور

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

ویژگی‌های دوره

تمرین و آزمون
تمرین و آزمون

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

ویژگی‌های دوره

تالار گفتگو
تالار گفتگو

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

ویژگی‌های دوره

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

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

بررسی فرصت‌های شغلی

درباره دوره

آموزش زبان برنامه‌نویسی سالیدیتی یکی از بهترین‌ترین دوره‌های آموزشی برای این زبان محبوب است. با استفاده از این زبان می‌توانیم در بستر بلاک‌چین اتریوم، ترون، اتریوم کلاسیک و بایننس اسمارت چین قرارداد هوشمند بنویسیم. همچنین با استفاده از مفاهیم این دوره آموزش سالیدیتی قادر خواهیم بود قراردادهای هوشمند، توکن‌ها، برنامه‌های غیرمتمرکز و NFTها را پیاده‌سازی کنیم.

 

هدف از برگزاری دوره برنامه‌نویسی مقدماتی تا پیشرفته سالیدیتی چیست؟

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

 

دوره برنامه‌نویسی مقدماتی تا پیشرفته سالیدیتی برای چه کسانی مناسب هست؟

تمامی افرادی که هم‌زمان به برنامه‌نویسی و تکنولوژی بلاک‌‌چین و توسعه آن علاقه دارند می‌توانند از دوره آموزش استفاده کنند.

 

سرفصل‌های دوره آموزش سالیدیتی

این دوره آموزشی تقریباً یک دوره آموزش مقدماتی سالیدیتی است که مفاهیم پیشرفته را نیز پوشش می‌دهد و به صورت کلی می‌توان گفت نقطه شروع خوبی برای ورود به دنیای سالیدیتی است.

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

  • مقدمات سالیدیتی: در اين فصل با مفاهیم برنامه‌نویسی انواع متغیر، پیاده‌سازی اولیه تابع و ... آشنا می‌شویم.
  • ساختارها در سالیدیتی: در اين فصل با مفاهیم آرایه و متغیر Enum بیشتر آشنا می‌شویم. همچنین در این فصل با ساختارهای Mapping و ... بیشتر آشنا می‌شود.
  • متغیرهای ویژه در سالیدیتی: در این فصل از دوره آموزش سالیدیتی با مفاهیم متغیرهای ویژه زبان برنامه نویسی سالیدیتی بیشتر آشنا می‌شویم.
  • توابع در سالیدیتی: آشنایی با حالت های مختلف تابع و محدود کننده های آن ، توابع مختلف Hashing ، رویداد و ...
  • الگوهای سالیدیتی: بررسی الگو های پرداخت در سالیدیتی و متد های Send و Transfer و Call
  • سالیدیتی پیشرفته: آشنایی با مفاهیم ارث بری، کتابخانه ، مدیریت خطا و در پایان نحوه پیاده سازی یک توکن بر اساس استاندارد ERC-20
  • پروژه پایانی: در این فصل 4 پروژه در نظر کرفته شده تا بتونید دانش خودتون رو کامل محک بزنید و با پروژه های واقعی حوزه بلاک چین آشنا بشید.

اگر به فکر یادگیری اصولی سالیدیتی هستید، پیشنهاد ما استفاده از دوره آموزش زبان سالیدیتی مکتب‌خونه است. این دوره به صورت پروژه محور تهیه و تدوین شده است و به صورت عملی شما را با مفاهیم این زبان آشنا خواهد کرد. 

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

 

درباره استاد

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

نظرات کاربران

تا کنون نظری برای این دوره ثبت نشده است. برای ثبت نظر باید ابتدا در دوره ثبت نام کرده و دانشجوی دوره باشید.
نوید جاوید 1403-01-14
خیلی مفید و عالی بود
حامد حنیف 1402-10-15
خیلی پرمحتوا بود، و متناسب با سطح مقدماتی طراحی شده بود. ۴ عمل اصلی یک اسمارت کنتراکت روی بستر اتریوم (توکن سازی، رای گیری، بانک، حراج) را به صورت عملیاتی آموزش دادند. مدرس آقای دهقانی بسیار مسلط وخوش بیان هستند. صددرصد بهکسانی که آشنایی اولیه با بلاکچین دارند و در مورد پشت صحنه فنی آن کنجکاوند، این دوره رو توصیه میکنم
حسین زارعی 1402-02-04
سلام. با تشکر از استاد دوره که برای دوره انرژی گذاشته . به نظرم این دوره برای شروع بلاکچین دولوپر شدن دوره خوبیه و مطالبی بیشتر از صرف زبان سالیدیتی داره که میتونه برای بعد از دوره هم مسیر دهی کنه.
سید احمد رضا ابطحی 1401-11-12
سلام. من اول میخواستم برای یادگیری سالیدیتی از منابع خارجی شروع بکنم اما هیچ کدام به این صورت که در این دوره هست از پایه شروع نمیکنند. گرچه که باید مبانی برنامه نویسی رو یا حداقل یه زبان برنامه نویسی رو قبل از شروع این آموزش، آموزش دیده باشید تا اینجا سریع پیش برید. مباحث تدریس شده نیز به میزان کافی هست و در آخر هم یه مقدار از سطح ابتدایی بالاتر میرن سمت پیشرفته که خب خوب هست برای کسی که میخواد ادامه بده. کیفیت صدا و تصویر به نسبت خیلی از دوره های دیگه، بسیار خوب هست. در کل من واقعا راضی هستم و ارزش هزینه کردن رو داشت.
میترا جعفری 1402-09-16
زمان دوره کم بود با کار نرسیدم

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

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

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

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

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

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

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

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

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

سالیدیتی (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 خام ارائه دهد.
صفحات پربازدید
poster
پیش‌نمایش دوره
  
برگزار کننده:  مکتب‌خونه
  
زمان مورد نیاز برای گذراندن دوره:  64 ساعت
مجموع محتوای آموزشی:  8 ساعت ویدئو - 56 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  9 هفته
  
حد نصاب قبولی در دوره:  70 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام