آینده و بلاکچین! بعید است بتوان این دو را جدا از هم تصور کرد. اگر مقاله بلاک چین چیست را خوانده باشید، میدانید این نسل جدید از پایگاههای داده چه انقلابی کردهاند. از رمزارزهای گوناگون و NFTها گرفته تا امکان برگذاری انتخابات شفاف و بدون امکان تقلب!
درست مثل هرچیز دیگری که به دنیای کامپیوترها مربوط است، بلاک چین و امکاناتش هم ساخت دست برنامهنویسها است! یکی از معروفترین بلاک چینهای حال حاضر دنیا، بلاک چین اتریوم است! زبان برنامه نویسی سالیدیتی، زبانی است که دولوپرها با استفاده از آن، میتوانند از قابلیتهای مختلف این بلاک چین توانا استفاده کنند.
از آنجایی که خیلیها معتقدند مبحث بلاک چین و قابلیتهایش، بهزودی خیلی بیشتر از حالا در زندگی انسانها تأثیر میگذارند، توجه زیادی به سمت زبان برنامه نویسی سالیدیتی جلب شده است؛ یادگیری این مهارت میتواند یک جریان پایدار از پول زیاد را برایتان بسازد. خلاصه که در این مقاله میخواهیم مسیر یادگیری این زبان را برایتان صاف و هموار کنیم.
احتمالاً لازم باشد چیستی این زبان را دقیقتر بررسی کنیم.
زبان برنامه نویسی سالیدیتی چیست؟
اولین کریپتوکارنسی دنیا بیتکوین بود. علیرغم اینکه هنوز هم باارزشترین دارایی دیجیتال همین رمزارز دوستداشتنی است، اما خب تکنولوژی مربوط به بلاک چین آن ایراداتی هم دارد!
توصیه میکنیم که مقاله نکات مهم کریپتو را بخوانید. هرچه بیشتر راجعبه این مسائل اطلاعات داشته باشید، فهم سالیدیتی هم برایتان راحتتر خواهد بود.
پیدایش اتریوم یکی از برزرگترین قدمها در پیشرفت دنیای غیرمتمرکز و بلاک چینها بود. ویتالیک بوترین که خودش بهخاطر از دست دادن داراییاش در بازی وارکرفت، جرقههای تمرکززدایی در ذهنش زده شد، سالها بعد با معرفی اتریوم، فکر و ایده خود را عملی کرد.
با پیدایش این بلاک چین، امکان طراحی قرادادهای هوشمند فراهم شد. این موضوع هم دستاوردهای دیگری را بهدنبال خود داشت! در واقع میتوان گفت شروع تمام برنامههای غیرمتمرکزی که حالا وجود دارند از همین زمان بود. از صرافیهای غیرمتمرکز یا DEX گرفته تا بازیهایی که روی بلاک چین طراحی شدهاند و اصطلاحاً به آنها Play-to-Earn گفته میشود.
تمام این نرمافزارها با زبان برنامه نویسی سالیدیتی نوشته میشوند! به بیان دیگر، این زبان پایه و اساس تمام برنامههایی است که در ماشین مجازی اتریوم یا Ethereum Virtual Machine قرار گرفته و اجرا میشوند!
خب در این مقاله میخواهیم مسیر یادگیری این زبان را نشانتان دهیم؛ اما اجازه دهید راجعبه مزایا و معایب آن هم صحبت کنیم.
زبان برنامه نویسی سالیدیتی چه مزایایی دارد؟
سالیدیتی بهخاطر ویژگیهایی که دارد، امکان بهرهوری از نهایت پتانسیل شبکه اتریوم را فراهم میکند! باور کنید اتریوم از چیزی که فکرش را هم بکنید بیشتر قابلیت دارد.
نکته: در ابتدا از این زبان فقط برای نوشتن برنامه روی شبکه اتریوم استفاده میشد؛ اما حال برای بلاک چینهای دیگر مثل سولانا، پالیگان، بایننس اسمارت چین و … هم مورد استفاده قرار میگیرد.
یکی از جذابترین ویژگیهای این زبان، یادگیری و فهم راحت آن برای تمام کسانی است که درک کوچکی از دنیای کدها دارند؛ یعنی اگر آشنایی کمی با زبانهای دیگر برنامهنویسی مثل ++C، جاوااسکریپت، پایتون و … داشته باشید، یادگیری سالیدیتی برایتان کار سختی نخواهد بود.
همچنین، از آنجایی که خروجی حاصل از سالیدیتی روی بلاک چین قرار دارد، امکان حذف یا جایگزینی برنامههای ساخته شده وجود ندارد! اگر مقاله آشنایی با بلاک چین را خوانده باشید، میدانید مهمترین خاصیت هر بلاک چینی، این است که امکان دخلوتصرف در آن وجود ندارد. سالیدیتی و برنامههایش این موضوع را تضمین میکنند!
پیشنهاد خواندن: خواندن مقالات موجود در دسته دنیای بلاک چین و کریپتو، اطلاعات خوبی به شما میدهد.
شبکه اتریوم، علیرغم کارمزد سنگینی که نسبتبه دیگر شبکهها دارد، یکی از ایمنترین راهها برای انتقال داراییهای دیجیتال ارزشمند (از خود ارز اتریوم گرفته تا انواع NFTها) محسوب میشود. بنابراین، با زبان برنامه نویسی سالیدیتی خیالتان از امنیت برنامههایتان هم راحت است.
اما قاعدتاً این زبان هم مثل هرچیز دیگری در دنیا معایب خودش را دارد.
زبان برنامه نویسی سالیدیتی چه معایب و محدودیتهایی دارد؟!
یکی از بزرگترین مزایای سالیدیتی، یک شمشیر دولبه است! یعنی هم میتواند خوب باشد و هم بد. یک قرارداد هوشمند، زمانی کارایی دارد که بینقص و عالی نوشته شده باشد.
وقتی با سالیدیتی روی بلاک چین برنامهای نوشته شود، اعمال تغییر در کدها و برطرف کردن اشتباهات و مشکلات کار پیچیدهای خواهد بود. بهخاطر همان ماهیت غیرقابل تغییر بلاک چین که بالاتر هم راجعبه آن صحبت کردیم.
رفع هرگونه مشکلی مثل نشتی اطلاعات، فقط با آپدیت کردن کد اتریوم امکانپذیر است. این کار هم با مشارکت حداقل یک node اتریوم انجام میشود که خب همیشه در دسترس و قابل استفاده نیست. حداقل نه خیلی راحت!
نشتیها یا Exploits تابهحال دو بار باعث حملات سایبری سنگین شدهاند. 2016 و 2021. جالبتر اینکه حمله سال 2016 منجر به سرقت 60 میلیون دلار پول ناقابل شد! البته که بلافاصله بعد از هر حمله، مشکل شناسایی و برطرف شد؛ اما خب در کل، یکی از نواقص این زبان برنامهنویسی همین موضوع است.
همچنین CoinBase که بزرگترین صرافی متمرکز ایالات متحده آمریکا است، ابزاری را با نام Solidify ارائه کرده که برای بررسی سلامت قردادهای هوشمند است.
نکته: Coinbase شدیداً متمرکز است و اصلاً روی خوشی به کاربران ایرانی که تحت تحریم هستند نشان نمیدهد! به هیچ وجه سراغش نروید.
این ابزار، قرارداهای هوشمند را بهمنظور پیدا کردن نقصهای احتمالی زیر ذرهبین میبرد. یک فرایند سختگیرانه و البته زمانبر که قطعاً ارزشش را دارد! مخصوصاً حالا که میدانید اعمال تغییرات در برنامهای که نوشته شده کار بسیار پیچیده و ناخوشایندی است.
لازم است توضیح مختصری راجعبه قراردادهای هوشمند و ماشینهای مجازی هم ارائه کنیم.
قراردادهای هوشمند و ماشینهای مجازی
قبلاً در مقالهای مفصلاً راجعبه ماشینهای مجازی و طرز کار آنها صحبت کردهایم. میتوانید مقاله مجازیسازی چیست را بخوانید تا همهچیز را در این رابطه یاد بگیرید.
وقتی صحبت از ماشین مجازی اتریوم میشود، منظور فضایی ایزوله، یعنی همان موتور محاسبات شبکه اتریوم است! جایی که تمام محاسبات در آن صورت میگیرد و همه قراردادهای هوشمند در آن ساخته و اجرا میشوند؛ پس بدون EVM یا ماشین مجازی اتریوم، نمیتوان DAAp جدیدی با استفاده از سالیدیتی خلق کرد؛ چراکه امکان نوشتن قرارداد هوشمند وجود ندارد.
حالا سؤال دوم: قرارداد هوشمند چیست؟
توصیه میکنیم برای آشنایی کامل و داشتن اطلاعات کافی، مقاله مربوط به قراردادهای هوشمند را بخوانید؛ اما برای آنهایی که وقت ندارند و هیچ ایدهای از چیستی Smart Contracts هم ندارند.
قرارداد هوشمند، نوعی قرارداد است که براساس توافقات طرفین (خریدار و فروشنده) تنظیم شده است. تفاوت این نوع قراردادها با انواع معمولی که همه میشناسیم، در چگونگی اجرای آنها است. در چنین قراردادهایی، همهچیز در قالب کدها تعریف شده است؛ بنابراین، اجرای آن هم کاملاً خودکار و بدون دخالت انسان خواهد بود.
فرض کنید دو نفر از دو سر دنیا میخواهند با هم معاملهای داشته باشند. در شرایط عادی، اعتماد کردن برای هردو طرف معضلی خواهد بود. این دو نفر میخواهند مقداری بیتکوین و تتر را با هم جابهجا کنند. با زبان برنامه نویسی سالیدیتی، میتوان یک Smart Contract یا قرارداد هوشمند تعریف کرد که خیال هردوطرف راحت باشد و مشکل بیاعتمادی برطرف شود.
برای مثال، قرارداد طوری تنظیم میشود که فقط هنگامی که دو طرف به تعهد خود عمل کردند (در این مثال انتقال تتر یا بیتکوین توافقشده)، معامله انجام شود. مثلاً اگر طرف A معامله بیتکوین تعیینشده را واریز نکرد، طرف B میتواند تترهایش را پس بگیرد! یا برعکس. اگر هم هردو طرف وظیفهشان را درست انجام دهند، معامله انجام میشود و طرفین به خواستهشان میرسند.
حالا میخواهیم یک مسیر منظم و سرراست را برای یادگیری این مسیر به شما پیشنهاد کنیم.
پیشنیاز یادگیری زبان برنامه نویسی سالیدیتی
عموم زبانهای برنامهنویسی، طوری تعریف میشوند که هرکسی میتواند از آن برای ورود به دنیای کدها استفاده کند؛ اتفاقاً سالیدیتی هم از این الگو پیروی میکند؛ یعنی هرکسی حتی بدون دانش کدنویسی هم میتواند یکراست سراغ این زبان برود و شروع به یادگیری آن کند.
اما خب مسلماً آنهایی که سررشتهای از این دنیای بیپایان دارند، خیلی راحتتر میتوانند سالیدیتی را هم به دانششان اضافه کنند. به همین خاطر، عموماً توصیه میکنند حداقل یک زبان را بلد باشید و بعد سراغ زبان برنامه نویسی سالیدیتی بروید.
به نقل از مقالهای در سایت CoinmarketCap که اتفاقاً منبع اصلی این مقاله هم است، آنهایی که تا حدی به ++C، جاوا، جاواسکریپت و پایتون مسلط هستند، خیلی راحتتر و بهتر میتوانند این زبان را درک کنند و یاد بگیرند؛ گرچه نمیتوان زمان دقیقی برای یادگیری اعلام کرد، اما بسته به متغیرهای بسیاری، این مدت میتواند از 1 ماه تا 6 ماه طول بکشد.
نکته خیلی مهم: بلد بودن یک زبان بینالمللی (ترجیحاً انگلیسی)، برای یادگیری و پیشرفت در موضوعی از واجبات است. مخصوصاً وقتی موضوع درباره هر وجهی از دنیای برنامهنویسی باشد، اهمیت این مسئله چندینبرابر میشود.
در بخش بعدی، یک پلتفرم جالب برای یادگیری این زبان را معرفی خواهیم کرد.
بازی کنید و سالیدتی یاد بگیری!
سایتی با نام CryptoZombies ، یکی از معروفترین منابع یادگیری زبان برنامه نویسی سالیدیتی است. این سایت با استفاده از گیمیفای، به شکلی جذاب و در قالب ساخت لشکری از زامبیها، سالیدیتی را از ابتدا آموزش میدهد.
این سایت در حال حاضر، به 400 هزار دانش آموز خود، چگونگی ساخت اپلیکیشنهای غیرمتمرکز روی بلاک چینها را یاد میدهد. آن هم از طریق بازی و ساخت یک بازی ویدیویی ساده! انصافاً یاد گرفتن با بازی کردن جذاب است.
در ابتدای بازی باید یک کارخانه زامبیسازی بسازید! در واقع با انجام این مرحله، دیتابیسی از تمام زامبیها همراه با اطلاعاتی مثل DNA آنها روی بلاک چین ایجاد میکنید. در ادامه مسیر، با تولید مثل این زامبیها، نبرد کردن با زامبیهای دیگر و … مسائل مهمتر و پیشرفتهتر سالیدیتی را یاد خواهید گرفت.
همانطور که گفتیم، زبان برنامه نویسی سالیدتی مختص اتریوم شناخته میشود؛ اما کاربرد آن فقط محدود به این بلاک چین نیست. مراحل پیشرفتهتر CryptoZombies استفاده از آن روی شبکههای بلاک چین دیگر مثل سولانا و بایننس اسمارت چین را هم آموزش میدهد.
در کنار این پلتفرم، سایتها و دورههای آموزشی بسیار زیادی وجود دارند که با استفاده از آنها، میتوانید به یک دولوپر زبان سالیدیتی تبدیل شوید.
اگر شما هم منبع خوبی میشناسید، در قسمت کامنتها به ما و دیگر خوانندگان معرفی کنید.
خب این هم از مسیر یادگیری سالیدیتی. اگر راجعبه درآمد این زبان سوال دارید، در قسمت بعد به این مسئله پرداختهایم.
میزان درآمد زبان برنامه نویسی سالیدیتی
برنامهنویسی کلاً حوزه پولسازی است! از قدیم هم همینطور بوده است؛ پس عجیب نیست اگر بلد بودن سالیتی هم جزو مهارتهای پولساز باشد. اتفاقاً از بسیاری از جهات، شاید پولسازتر بودن آن نسبتبه باقی زبانها هم واضح باشد.
این نکته را در نظر بگیرید که دنیای بلاک چین سالهای ابتدای تولدش را سپری میکند. در آینده نزدیک درصد بسیار بیشتری از مردم زمین به این دنیا کشیده میشوند و به شکلهای مختلف، امورات خود را در آن سپری میکنند. وقتی قرار باشد تمام نیازهای بشر در متاورس برطرف شود، به زیرساختهای بسیار بیشتری نیاز خواهد بود. برنامه نویسهای سالیدیتی نقش بسیار بزرگی در ساخت این زیرساختها و تحقق این رؤیا خواهند داشت.
از طرف دیگر، نیاز به قراردادهای هوشمند هر روز بیشتر از دیروز میشود. هم از جانب برنامههای غیرمتمرکزی که باید با این زبان نوشته شوند و از چه طرف مردمی که میخواهند داراییهای دیجیتال خود را بدون دردسر معامله کنند!
بنابراین، زبان برنامه نویسی سالیدیتی قطعاً یکی از زبانهای پولساز این حوزه است. همین حالا هم با توجه به کمبود متخصص حرفهای، بازار کار بسیار خوبی برای آن در سرتاسر دنیا وجود دارد. اگر هم دوست دارید عدد بدانید، اجازه دهید آمریکا را بهعنوان یک نمونه مثال بزنیم.
میانگین حقوق برنامهنویس سالیدیتی در ایالات متحده، 125 هزار تا 150 هزار دلار در سال است. در صورت فریلنسر بودن که خب مسلماً میتوان درآمد بیشتری هم داشت؛ البته که همه فریلنسرها به درآمدهای خیلی نجومی نمیرسند. یکی از مقالات ما راجعبه این است که چگونه میتوان یک برنامهنویس فریلنسر شد. در آن راجعبه مسائلی که در موفقیتتان فریلنسرها دخیل هستند صحبت کردیم.
خب تقریباً راجعبه همهچیز زبان برنامه نویسی سالیدتی صحبت کردیم. برویم برای جمعبندی.
یک مهارت خوب و پولساز برای یادگیری (در صورت علاقه)
اگر برنامهنویس هستید که هیچ! اما یک توصیه برای آنهایی که تازه میخواهند این کار جذاب را یاد بگیرند:
بر اساس هیجان و هایپ تصمیم نگیرید! اینروزها کریپتو و متاورس و کلاً هرچیز مربوط به بلاک چین نقل محافل است. همین مسئله ناخواسته منجر به هیجان و فومو میشود. اینکه فکر کنید چون سالیدیتی میتواند درآمد خوبی داشته باشد، پس انتخاب مناسبی است، رویکرد درستی نیست! مهمترین چیز برای دنبال کردن یک حرفه و یادگیری مهارت، علاقه است! آیا به برنامهنویسی و کد زدن علاقه دارید؟
اگر پاسختان به سؤال بالا مثبت است، پس امیدواریم این مقاله یک راهنما و البته یک تلنگر خوب برای شروعتان باشد. در غیر اینصورت، بیشتر فکر کنید و منطقی تصمیم بگیرید. آنقدر راه برای کسب درآمد در دنیای بلاک چین وجود دارد که قطعاً یکی از آنها میتواند به علایق شما نزدیکتر باشد.
درضمن این مقاله، مثل همه مقالات دیگر ما آپدیت میشود؛ یعنی هروقت منبع مناسب دیگری برای یادگیری زبان برنامه نویسی سالیدیتی پیدا کنیم، آن را به این مقاله اضافه میکنیم. مجدداً خواهش میکنم اگر شما هم منبعی میشناسید، حتماً در قسمت کامنتها به ما معرفی کنید.
با تشکر از وقتی که برای خواندن گذاشتید.