سالیدیتی (Solidity) یک زبان برنامه نویسی کاملاً جدید است که برای قراردادهای هوشمند اتریوم ایجاد شده است. اتریوم، دومین بازار بزرگ ارزهای دیجیتال از نظر سرمایه را تشکیل میدهد که در سال 2015 به رهبری کریستین ریتویسنر منتشر شد. قبل از اینکه به بررسی عمیقتر سالیدیتی بپردازیم در بخش زیر به معرفی بعضی از ویژگیهای سالیدیتی میپردازیم.
از سالیدیتی میتوان برای ایجاد قراردادهایی مانند رای دادن، حراجهای حوزه ارزهای دیجیتال، فعالیتهای حوزه بازار مالی، کیف پولهای چند امضایی و غیره استفاده کرد.
برای شروع باید تک تک ویژگیهای سالیدیتی را عمیقتر بررسی کنیم؛ گفتیم که سالیدیتی به قراردادهای هوشمند حوزه اتریوم کمک میکند؛ اما قراردادهای هوشمند چه ساز و کارهایی دارند؟ پس اولین قدم برای شناخت سالیدیتی شناخت قراردادهای هوشمند است.
قرارداد هوشمند (Smart Contract) چیست؟
اگر با مفهوم حوزه مالی هوشمند بیگانه هستید، باید ابتدا در این باره اطلاعات کسب کنید. اگر بخواهیم به صورت خلاصه قرارداد هوشمند را توضیح دهیم؛ قرارداد هوشمند یک قرارداد خوداجرا است که شرایط توافق بین خریدار و فروشنده مستقیماً در خطوط کد نوشته میشود. فرض کنید که برای خرید یک خانه میروید، یک قرارداد پیش روی شما است که قوانین ان در قالب کلمات بر روی کاغذ پیادهسازی شده است؛ در قرارداد مجازی همه چیز در قالب کدها در حال اجرا است. کد اجرا را کنترل میکند و تراکنشها قابل پیگیری هستند اما باید این نکته را خاطرنشان شویم که تراکنشها برگشت ناپذیر هستند.
قراردادهای هوشمند کدهای برنامه سطح بالایی هستند که در کد بایتی EVM کامپایل شده و برای اجرای بیشتر در بلاکچین اتریوم مستقر میشوند. قراردادها امکان این را به ما میدهند تا تراکنش های معتبر را بدون هیچ گونه دخالت شخص ثالث انجام دهیم، همانگونه که گفتیم این تراکنشها قابل پیگیری و برگشت ناپذیر هستند.
رمز ارزها (Cryptocurrency) چه هستند؟
کریپتوکارنسی یک ارز دیجیتال یا مجازی است که به وسیله رمزنگاری ایمن میشود و این موضوع تقلب یا خرج کردن آن را در دنیای واقعی به صورت فیزیکی تقریبا غیرممکن میکند. بسیاری از ارزهای دیجیتال شبکههای غیرمتمرکز مبتنی بر فناوری بلاکچین هستند.
یکی از ویژگیهای مشخص و بارز تمام ارزهای دیجیتال این است که معمولاً به وسیله هیچ مرجع مرکزی صادر نمیشوند و از نظر تئوری از دخالت یا دستکاری دولت مصون میمانند. این پولهای مجازی دارای ارزشهای مختلفی هستند و بعضا میتوانند کمک بسیار زیادی به کسب و کارهای مختلف کنند. پیشبینی میشود که در آینده پولهای فیزیکی از بین بروند و رمزارز جای اسکناسها را بگیرد.
بلاکچین (Blockchain) چیست؟
بلاکچین یک پایگاه داده است که بین نودها یا گرههای یک شبکه کامپیوتری به اشتراک گذاشته شده است. به عنوان یک پایگاه داده، یک بلاکچین اطلاعات را به صورت الکترونیکی در قالب دیجیتال ذخیره میکند. بلاکچینها بیشتر به خاطر نقش حیاتی خود در سیستم های ارزهای دیجیتال، مانند بیتکوین، برای حفظ رکورد ایمن و غیرمتمرکز تراکنشها شناخته میشوند. نوآوری بلاکچین این است که وفاداری و امنیت رکورد دادهها را تضمین میکند و بدون نیاز به شخص ثالث فضایی امن و قابل اطمینان را ایجاد میکند.
یکی از تفاوتهای کلیدی بین یک پایگاه داده معمولی و یک بلاکچین، نحوه ساختار دادهها است. یک بلاکچین اطلاعات را در گروههایی به نام بلوکها جمع آوری میکند که به عبارتی هر بلوک مجموعهای از اطلاعات را در خود نگهداری میکنند. بلوکها دارای ظرفیتهای ذخیرهسازی خاصی هستند و حجم هر بلوک با بلوک دیگر میتواند متفاوت باشد. هنگامی که هر بلوک پر میشوند، بسته میشوند و به بلوک پر شده قبلی متصل میشوند و زنجیرهای از دادهها را تشکیل میدهند که به نام بلاکچین شناخته میشود. تمام اطلاعات جدیدی که به دنبال آن بلوک تازه اضافه شده است در یک بلوک تازه تشکیل شده کامپایل میشود که پس از پر شدن نیز به زنجیره طویل قبل از خود اضافه میشود.
یک پایگاه داده معمولاً دادههای خود را به صورت جداول ساختار میدهد، در حالی که یک بلاک چین، همانطور که از نامش پیداست، دادههای خود را به قطعات (بلوکهایی) که در کنار هم قرار گرفتهاند ساختار میدهد. این ساختار داده به طور ذاتی یک جدول زمانی برگشت ناپذیر از دادهها را هنگامی که در ماهیت غیرمتمرکز پیادهسازی میشود ایجاد میکند. هنگامی که یک بلوک پر میشود، در ردیف بلوکهای پر شده قبل از خود قرار می گیرد و بخشی از این جدول زمانی میشود. هر بلوک در هر زنجیره زمانی که به زنجیره اضافه میشود، دارای یک شناسه زمانی به خصوص است.
اتریوم چیست و چه ربطی به سالیدیتی (Solidity) دارد؟
بنا به تعریف، اتریوم یک پلتفرم نرم افزاری جهانی غیرمتمرکز است که از فناوری بلاکچین پشتیبانی میکند. بیشتر به خاطر ارز دیجیتال بومی خود، اتر یا ETH شناخته میشود و نامگذاری آن نیز بر همین مبنا است.
اتریوم میتواند به وسیله هر کسی برای ایجاد هر فناوری دیجیتال ایمنی استفاده شود. این توکن برای استفاده در شبکه بلاکچین طراحی شده است، اما میتواند به وسیله شرکت کنندگان به عنوان روشی برای پرداخت هزینه کار انجام شده روی بلاکچین نیز استفاده شود.
اتریوم به گونهای طراحی شده است که مقیاس پذیر، قابل برنامه ریزی، ایمن و غیرمتمرکز باشد. این بلاکچین انتخابی برای توسعه دهندگان و شرکتهایی است که بر اساس آن فناوریهایی ایجاد میکنند تا نحوه عملکرد بسیاری از صنایع و نحوه انجام زندگی روزمره ما را تغییر دهند.
اتریوم به طور پیشفرض از قراردادهای هوشمند و ابزار ضروری برنامههای غیرمتمرکز، پشتیبانی میکند. بسیاری از امور مالی غیرمتمرکز (DeFi) و سایر برنامهها از قراردادهای هوشمند در ارتباط با فناوری بلاکچین استفاده میکنند.
حال که تا حد خوبی اطلاعات درباره رمزارزها، بلاکچین، توکن اتر، قراردادهای هوشمند و اتریوم دارید میتوانیم به معرفی سالیدیتی بپردازیم.
کاربرد اتریوم چیست؟
اتریوم یک پلت فرم غیرمتمرکز منبع باز مبتنی بر دامنه بلاکچین است که برای اجرای قراردادهای هوشمند استفاده میشود، یعنی برنامههایی که برنامه را دقیقاً همانطور که برنامهریزی شده اجرا میکنند، بدون اینکه امکان کلاهبرداری، دخالت شخص ثالث، سانسور یا خرابی وجود داشته باشد. این پلتفرم برای نزدیک به ۲۶۰,۰۰۰ ارز دیجیتال مختلف ارائه میدهد. اتر یک ارز دیجیتال است که به وسیله ماینرهای اتریوم تولید میشود و کاربرد آن برای پاداش محاسباتی که برای ایمن کردن بلاکچین انجام میشود، است.
ماشین مجازی اتریوم (EVM)
ماشین مجازی اتریوم به اختصار EVM یک محیط زمان اجرا برای اجرای قراردادهای هوشمند در اتریوم است. این مفهوم به طور گسترده ای بر تامین امنیت و اجرای کدهای غیرقابل اعتماد با استفاده از شبکه بین المللی گرههای عمومی تمرکز دارد. EVM برای جلوگیری از حمله انکار سرویس تخصصی است و تأیید میکند که برنامه هیچ گونه دسترسی به وضعیت یکدیگر ندارد، همچنین تضمین میکند که ارتباط بدون هیچ گونه تداخل احتمالی برقرار است.
حالا وقت شناختن Solidity است!
حالا که درباره رمزارزها، بلاکچین، توکن اتر، قراردادهای هوشمند و اتریوم را شناختید میتوانیم به بررسی سالیدیتی بپردازیم، توجه کنید که سالیدیتی یک زبان نسبتا سخت و سطح بالا است پس اگر برخی از مفاهیم آن را متوجه نشدید و زمینهای ندارید ممکن است این مطلب کمی برای شما دشوار باشد.
چگونه میتوانیم سالیدیتی را یاد بگیریم؟
راههای مختلفی برای نصب کامپایلر Solidity وجود دارد، به سادگی گزینه دلخواه خود را انتخاب کرده و مراحل ذکر شده در صفحه نصب را دنبال کنید.
مثال: در مثال زیر، یک نمونه برنامه منسجم را برای نشان دادن نحوه نوشتن قرارداد هوشمند در Solidity مورد بحث قرار دادهایم.
ورژن پراگما
ورژن پراگما نسخهای از کامپایلر سالیدیتی است. پراگماها دستورالعملهایی برای کامپایلر در مورد نحوه برخورد با کد هستند. همه کد منبع solidity باید با «ورژن پراگما» شروع شوند که شاخصی کلیدی برای نسخه کامپایلر solidity است. ورژن پراگما به ما کمک میکند تا کد با نسخههای بعدی کامپایلر که ممکن است تغییراتی ایجاد کند ناسازگار نباشد. ورژن پراگما دارای کدهایی است که برای مثال بیان میکند که کد با کامپایلرهای نسخه بزرگتر و مساوی 0.4.16 اما کمتر از نسخه 0.7.0 سازگار است.
کلمه کلیدی قرارداد
کلمه کلیدی قرارداد قراردادی را اعلام میکند تحت چهارچوب کدها تعریف و ایزوله شدهاند.
متغیرهای حالت یا همان متغیرهای اعلان:
متغیرهای حالت به طور دائم در قراردادهای هوشمند ذخیره میشوند، این متغیرها و فضای ذخیرهسازی آنها در بلاکچین اتریوم موجود هستند. خط uint public var1 یک متغیر حالت به نام var1 از نوع uint است که عدد صحیح بدون (علامت یعنی همان مثبت 256 بیتی) را اعلام میکند.
اعلان تابع
تابع ست (SET) تابعی است که یک متغیر x و متغیر y از نوع داده uint را به عنوان پارامتر میگیرد. چیزی که دیدید نمونهای از یک قرارداد هوشمند ساده بود که مقدار var1 و var2 را آپدیت میکند. هر کسی میتواند مجموعه تابع را فراخوانی کرده و مقدار var1 و var2 را که در بلاکچین اتریوم ذخیره شده است، بازنویسی کند. این نمونه ای از یک برنامه غیرمتمرکز است که دارای سانسور است و بر خاموش شدن سرورهای متمرکز تأثیری ندارد. تا زمانی که شخصی یک گره از بلاکچین اتریوم را اجرا کند، این قرارداد هوشمند در دسترس خواهد بود.
در این قرارداد، مجموع متغیرها با جمع کردن مقادیر متغیرهای var1 و var2 محاسبه میشود و تابع get مقدار مجموع متغیر حالت را بازیابی و چاپ میکند.
قراردادهای هوشمند اجازه میدهند تا معاملات و توافقات قابل اعتماد بین طرفهای ناهمگون و ناشناس بدون نیاز به یک مرجع مرکزی، سیستم قانونی یا مکانیزم اجرایی خارجی انجام شود. در حالی که فناوری بلاکچین اساساً به عنوان پایهای برای بیتکوین در نظر گرفته شده است، اما بسیار فراتر از زیربنای ارز مجازی تکامل یافته است و یک روش متمرکز برای جابهجایی کریپتوکارنسی و یا هر معامله دیگری است. حال مفهوم قرارداد هوشمند را متوجه شدید اما نکات ریزی درون مفهوم آن وجود دارد که خود نیاز به توضیحی جداگانه دارد؛ برای مثال بلاکچین، اتریوم، رمزارز و…
ویژگیهای زبان سالیدیتی چه هستند؟
با ویژگیهای قراردادهای هوشمند و بسیاری از مفاهیم مختلف آشنا شدیم و در ادامه میخواهیم به بررسی ویژگیهای سالیدیتی بپردازیم.
ساختارهای داده پیچیده
برای شروع برنامه نویسی Solidity نمیتوانید ساختارهای داده را به صورت حاضر و آماده در یک چک لیست از پیش تعیین شده مشاهده کنید، زیرا آنها عملکردهای مهمی را ارائه میدهند و همانطور که گفته شد زبان سالیدیتی یک زبان نسبتا سطح بالا است. یکی از اولین ساختارهای داده در سالیدیتی به ساختار داده Enum اشاره دارد که به حفظ ردیابی لیستهای شمارش شده در زبان برنامه نویسی Solidity کمک میکند. نمونه دیگری از ساختارهای داده در سالیدتی هستند که به تعریف انواع دادههای خود کمک میکنند. ساختارها اساساً میتوانند به شما در مدلسازی هر نوع داده با توجه به نیازها با ویژگیهای دلخواه انواع دادههای مختلف کمک کنند. به طور مشابه، شما همچنین میتوانید با آرایهها به عنوان یکی از ورودی های مهم در میان ساختارهای داده در برنامه نویسی Solidity روبرو شوید.
بزرگترین شگفتی برای افراد علاقهمند به برنامه نویسی Solidity چیست؟ بدیهی است که در هر صورت پاسخ این سوال به “Mappings” اشاره دارد. مپینگز در Solidity به ذخیرهسازی جفتهای کلید-مقدار کمک میکنند و یک نکته برجسته در توابع زبان برنامهنویسی هستند. ساختار داده “Mappings” در Solidity بیشتر شبیه یک جدول هش یا آرایه انجمنی مرتبط با سایر توابع است.
قابلیت مشاهده عملکرد
برنامه نویسی Solidity همچنین قابلیت مشاهده عملکرد را در اختیار کاربران خود قرار میدهد. مشاهده عملکرد نقش مهمیدر تعریف دامنه توابع قرارداد هوشمند در زبان برنامه نویسی Solidity ایفا میکند. برای مثال، قابلیت مشاهده عملکرد عمومی، فراخوانی تابع را از طریق حسابهای خارج از قرارداد هوشمند، آسان میکند. متعاقبا، همین مشاهده عملکرد میتواند اجرای قراردادهای هوشمند را به کاری واقعبینانهتر تبدیل کند.
مزایای برنامهنویسی Solidity چیست؟
سالیدیتی برای بلاک چین اتریوم بستگی زیادی به مزایا و ارزشهایی دارد که ارائه میدهد. به غیر از قابلیتهای اساسی، سالیدیتی ویژگیهای جالب زیادی را ارائه میکند که تأیید میکند که گزینهای تک نسبت به بسیاری از زبانهای برنامهنویسی مبتنی بر اتریوم است. اولین مزیت برنامه نویسی سالیدیتی به پشتیبانی از انواع دادههای پیچیده و متغیرهای عضو در کنار انواع دادههای اساسی بازمیگردد. سالیدیتی تلاش کرده است تا کاملترین باشد.
علاوه بر این، زبان برنامه نویسی سالیدیتی یک رابط باینری برنامه یا ABI را برای فعال کردن ایمنی نوع داده ارائه میدهد. وقتی کامپایلر هرگونه عدم تطابق نوع داده را برای متغیرهای خاص تشخیص میدهد، ABI میتواند به شناسایی سریع خطاها کمک کند. یکی دیگر از نکات برجسته برنامه نویسی Solidity در اتریوم به تأثیر «مشخصات زبان طبیعی» اشاره میکند.سالیدیتی از مشخصات زبان طبیعی برای تبدیل مشخصات کاربر محور به زبانی قابل درک برای ماشینها استفاده میکند.
سایر مزایای حیاتی استفاده از سالیدیتی برای ساخت برنامههای غیرمتمرکز و قراردادهای هوشمند شامل موارد زیر است:
دسترسی آسان به ویژگیهای شی گرا
سالیدیتی با استفاده از Application Binary Interface یا ABI از انواع مختلفی از نقشهای حیاتی پشتیبانی میکند؛ به نحوی سادهتر سالیدیتی به مبتدیان در یادگیری اصول قراردادهای هوشمند و توسعه بلاکچین کمک میکند. توسعه قراردادهای هوشمند در زبان برنامه نویسی Solidity به هدایت فرآیندهای ایمن و قابل اعتماد برای پلتفرمهای مختلف که با توافقات بین دو طرف سر و کار دارند کمک میکند.
ارتباط با زبانهای عام برنامهنویسی
بحث در مورد اصول برنامه نویسی سالیدیتی بینشهای زیادی را در مورد نحوه عملکرد آن به نمایش میگذارد و یک زبان برنامه نویسی محبوب در اتریوم برای توسعه قراردادهای هوشمند است. شباهتهای سالیدیتی با زبانهای معروف سطح بالا فرصت استثنایی را برای مبتدیان فراهم میکند تا توسعه قراردادهای هوشمند را یاد بگیرند.
هر کسی که علاقهمند به بررسی عملکردهای فناوری بلاکچین در توسعه برنامه های غیرمتمرکز است، میتواند زبان برنامه نویسی سالیدیتی را یاد بگیرد. با این حال، بررسی تمام روشهای استفاده از قابلیتهای اساسی در Solidity بسیار مهم است. قبل از اینکه بتوانید در برنامه نویسی سالیدیتی بیشتر عمیق شوید، باید در مورد تک تک اجزای Solidity بیاموزید. برای ایجاد اولین قرارداد هوشمند خود، به دنبال منابع قابل اعتماد اطلاعات در مورد برنامه نویسی با سالیدیتی باشید چرا که هر آموزشی ارزش وقت و هزینه گذاشتن را ندارد.
سالیدیتی یک زبان برنامه نویسی کلیدی در دنیای بلاکچین است. در سال 2014، سالیدیتی برای اولین بار در زمینه اتریوم پیشنهاد شد و تیم Solidity به طور مداوم بر روی توسعه آن کار کردند. در حال حاضر، هزاران توسعهدهنده در سراسر جهان از سالیدیتی برای ایجاد خدمات مبتنی بر بلاکچین استفاده میکنند. در دنیای کنونی موارد استفاده زیادی از Solidity پیدا خواهید کرد.
موارد استفاده برنامه نویسی Solidity
اکنون، اجازه دهید کمی بیشتر در مورد Solidity بدانیم تا بتوانید اشراف خوبی بر ویژگیهای آن در انتهای مقاله به دست آورید.
رای دادن
شاید برایتان جالب باشد که سالیدیتی برای رای دادن هم کاربرد دارد. چندین مسئله مانند رای دهندگان جعلی، رزرو غرفه، دستکاری دادهها و تغییرات دستگاه رأی گیری در فرآیند رأی گیری قابل مشاهده است. با استقرار قراردادهای هوشمند Solidity میتوان فرآیند رأی گیری را شفاف و مؤثر کرد.
تامین مالی جمعی
تامین مالی جمعی اغلب با مسائل مربوط به مدیریت داده و کمیسیون شخص ثالث مواجه است. هنگامی که کل فرآیند از طریق قراردادهای هوشمند Solidity انجام میشود، هیچ الزامی برای سیستمهای متمرکز وجود ندارد. سالیدیتی در نهایت هزینههای اضافی را کاهش میدهد.
حراجهای آزاد و مزایدات
در صورت برگزاری حراج آزاد، هر کسی میتواند پیشنهادات شخص دیگری را ببیند. این موضوع باعث ایجاد اختلافات و حتی تقلبی بودن برخی از خریدها و پیشنهادها میشود. حراج آزاد با قراردادهای هوشمند Solidity به هیچ فردی اجازه مشاهده پیشنهاد شخص دیگری را نمیدهد تا زمانی که مزایده به پایان برسد.
بنابراین، این ممکن است کاملاً روشن کند که برنامه نویسی Solidity موارد استفاده با ارزش بالایی دارد.
چگونه سالیدیتی را یاد بگیریم؟
حال، اجازه دهید پیش نیازهای یادگیری Solidity را بررسی کنیم. اگر به یادگیری این زبان فکر میکنید، در ادامه مطلب به نکاتی اشاره کردهایم که میتوانند به شما بسیار کمک کنند.
پیش نیازهای یادگیری
سالیدیتی یک زبان برنامه نویسی سطح بالا برای توسعه قراردادهای هوشمند مبتنی بر اتریوم است. از آنجایی که همه چیز با پلتفرم اتریوم مرتبط است، باید دانش بنیادی این پلتفرم را داشته باشید. جدای از آن، پیش نیازهای یادگیری Solidity به شرح زیر است:
- درک اولیه فناوری بلاکچین و پلتفرمهای مرتبط با آن
- آشنایی اولیه با زبانهای برنامهنویسی و برنامهنویسی
- توانایی کار با تکنولوژی و فناوریهای پیشرفته و سطح بالا
اگر اهل کامپیوتر هستید، این یک امتیاز مثبت خواهد بود زیرا یادگیری مفاهیم برای شما آسان تر خواهد بود. اما حتی اگر از هر رشته دیگری هستید، میتوانید سالیدیتی را پس از کسب دانش اولیه درباره بلاکچین اتریوم یاد بگیرید.
و تمام! این تمام چیزی است که برای تبدیل شدن به یک توسعه دهنده سالیدیتی نیاز دارید. به اضافه کمی چاشنی پشتکار.
اگر قصد دارید یک توسعه دهنده بلاکچین/اتریوم شوید، باید با قراردادهای هوشمند آشنا باشید. ما در بالا به طور پایه درباره این موضوع بحث کردیم اما شما برای حرفهای شدن در سالیدیتی نیاز دارید که عمیقا آن را درک کنید. کار توسعه دهنده بلاکچین ایجاد DApps (برنامههای غیرمتمرکز) است و قراردادهای هوشمند پایه و اساس آن هستند پس از آن غافل نشوید.
برای نوشتن هر قرارداد هوشمند، باید سالیدیتی را یاد بگیرید. سینتکس شبیه جاوا اسکریپت است، اما برای نوشتن قراردادهای هوشمند به درک عمیقی از Solidity نیاز دارید. هنگامی که قرارداد هوشمندی را تدوین کردید، خود قرارداد کار را به طور مستقل و بدون نیاز به مداخله از طرف شما انجام میدهد و در واقع همان شروع نوشتن قرارداد هوشمند کافی است تا خودش به صورت اتوماتیک به تدوین قراردادها بپردازد.
اگر میخواهید وارد حوزه بلاکچین شوید و قراردادهای هوشمند توسعه دهید، باید با برنامه نویسی Solidity آشنا شوید. اما اگر فعال در حوزه کریپتوکارنسی هستیم چرا باید سالیدیتی یاد بگیریم؟ برخی از دلایل کلیدی برای یادگیری سالیدیتی عبارتند از:
- ایجاد قراردادهای هوشمند برای برنامه ریزی پول و جابجایی آن در شرایط خاص
- استقرار قراردادهای هوشمند از طریق EVM یا ماشین مجازی اتریوم
- توسعه برنامههای غیرمتمرکز در هر بخش
- با یادگیری با سالیدیتی، از زیر و بم ساختار بلاکچین و اتریوم سر در خواهید آورد
بنابراین، میتوانید بگویید که اگر یادگیری برنامهنویسی سالیدیتی را کامل کنید، کار با پلتفرم اتریوم و سایر پلتفرمهای بلاکچین بسیار آسان خواهد شد. Solidity مسیری برای تبدیل شدن به یک توسعه دهنده اتریوم / بلاک چین است.
همانطور که در این مقاله دیدید به بررسی کامل اتریوم، بلاکچین، قراردادهای هوشمند و … پرداختیم. پس از آن به معرفی زبان برنامه نویسی سالیدیتی پرداختیم که خود به تعریف موارد قبلی وابسته بود و به بررسی موارد استفاده و ویژگیهای کلی آن پرداختیم. در نهایت به بررسی دورههایی که میتوانند سالیدیتی را از سفر تا صد برای شما جمعبندی کنند پرداختیم. با استفاده از دورههایی که در این مقاله به آنها اشاره شد شما میتوانید که اطلاعات کامل و جامعی را در زمینه سالیدیتی به دست بیاورید و تبدیل به متخصص شوید.