سالیدیتی (Solidity) یک زبان برنامهنویسی است که به اتریوم اجازه داد تا فناوری بلاکچین را فراتر از رمزارزهایی مشابه بیتکوین گسترش دهد تا به چیزی تبدیل شود که یکی از سازندگان آن را «یک رایانه برای تمام دنیا» مینامد. زبان برنامهنویسی سالیدیتی توسط دکتر گوین وود (Gavin Wood)، همکار ویتالیک بوترین ابداع شد.
سالیدیتی زبان قراردادهای هوشمند و یکی از ستونهای دومین بلاکچین برتر، یعنی اتریوم است. از آنجا که اپلیکیشنهای غیرمتمرکز (DApps) اساساً مبتنی بر قراردادهای هوشمند بسیار پیچیده هستند، سالیدیتی زبانی است که همهچیز از پلتفرمهای مالی غیرمتمرکز (DeFi) گرفته تا بازیهای کریپتو و ابزارهای مدیریت زنجیره تأمین روی آن ساخته شده است.
اساساً، هر چیزی را که در ماشین مجازی اتریوم اجرا میشود، میتوان با استفاده از سالیدیتی ساخت. گفتنی است ماشین مجازی اتریوم موتور محاسباتی ایزوله اتریوم است که تمام قراردادهای هوشمند در آن ایجاد و اجرا میشوند.
عناوین مطلب:
مزیتهای زبان برنامهنویسی سالیدیتی
سالیدیتی نقاط قوتی دارد که به توانمندسازی اتریوم و روند توسعه آن کمک شایانی کرده است. بهعنوان مثال، این زبان برنامهنویسی بهگونهای طراحی شده بود که هر فردی که دانش اولیه زبانهای برنامهنویسی مانند جاوا اسکریپت یا C++ را دارد، بتواند بهراحتی از آن استفاده کند.
یکی دیگر از مزیتهای این زبان برنامهنویسی، ایجاد قراردادهای آن روی یک بلاکچین بود که نمیتوان آنها را تغییر داد یا حذف کرد. به این معنی که اتریوم روشی بسیار ایمن برای انجام کاری است که برای آن طراحی شده است: انتقال هر چیز ارزشمند با واسطه پرداخت توکنهای بومی اتر یا توکنهای سازگار با ERC-20.
محدودیتهای سالیدیتی
نقطه ضعف سالیدیتی را بهنوعی میتوان مزیت آن هم دانست! قراردادهای هوشمند سالیدیتی باید بدون نقص نوشته شوند. همانطور که کارشناسان طراحی ارزهای دیجیتال میگویند:
کد قانون است.
اشتباهات را نمیتوان برطرف کرد، تراکنشها را نمیتوان معکوس کرد، و کلاهبرداریها را فقط میتوان با بهروزرسانی کد اتریوم خنثی کرد که مستلزم مشارکت اکثریت شبکه است و همیشه هم بهراحتی اتفاق نمیافتد. مثلاً در جریان هک 2016 دائو که با استفاده از نقطه ضعفی در ماشین مجازی اتریوم اتفاق افتاد، تنها راهحل موجود بازگرداندن تمام تراکنشها بود.
چقدر زمان برای یادگیری سالیدیتی لازم است؟
سالیدیتی یک زبان برنامهنویسی شیگرا (OOP) سطح بالا است که به توسعهدهندگان اجازه میدهد تا با استفاده از قطعههای کد ازپیشساختهشده برنامه بسازند.
سالیدیتی بهگونهای طراحی شده است که برای هر کسی که آشنایی اولیه با سایر زبانهای برنامهنویسی رایجتر از جمله C++، جاوا، جاوا اسکریپت و پایتون دارد، کاربرپسند باشد. این یعنی افراد با تجربه در مفاهیم عمومی برنامهنویسی و زبانهای برنامهنویسی مذکور به مدتزمان کمتری برای یادگیری سالیدیتی احتیاج دارند. این مدتزمان ممکن است از یک تا شش ماه طول بکشد.
توسعهدهندگان سالیدیتی چقدر در سال درآمد دارند؟
براساس آمار پلتفرم cryptocurrencyjobs، میانگین حقوق پایه برای توسعهدهندگان سالیدیتی در ایالات متحده از 125,000 تا 145,000 دلار در سال متغیر است. با توجه به رشد انفجاری حوزه کریپتو و افزایش تقاضا برای مشاغل مربوط به این حوزه، احتمالاً بیشتر از این شاهد اعلامیه استخدام برای توسعهدهندگان سالیدیتی خواهید بود.
نحوه یادگیری سالیدیتی برای مبتدیان با کریپتوزامبیز (CryptoZombies)
یکی از بهترین روشها برای یادگیری سالیدیتی، استفاده از برنامه کریپتوزامبیز است، یک آموزشگاه برنامهنویسی رایگان و تعاملی که بیش از 400,000 دانشآموز از آن استفاده میکنند تا با ایجاد یک بازی ویدیویی ساده، نحوه ساخت اپلیکیشنهای بلاکچین را بیاموزند.
دو برنامه درسی وجود دارد: طراحی قراردادهای هوشمند پایه تا متوسط، و سالیدیتی پیشرفته که شامل آزمایش و پیادهسازی اپلیکیشنهای غیرمتمرکزی مانند بازی زامبی میشود. علاوه بر این، امکان ایجاد اوراکلهایی که دادههای خارجی قابلاعتمادی در اختیار قراردادهای هوشمند قرار میدهند هم در این برنامه وجود دارد.
درس اولیه: ایجاد کریپتوزامبی
طرح درس اولیه با ساختن کارخانه زامبیسازی آغاز میشود: ایجاد پایگاه دادهای از زامبیها روی بلاکچین، روشی برای ایجاد زامبیهای جدید، و یک تابع عددی «DNA» که ظاهر هر زامبی و سایر موجودات را کنترل میکند. بهعبارت سادهتر، در این مرحله شما شخصیتها را میسازید.
در مجموع، شش درس وجود دارد که هر کدام 11 تا 15 مرحله دارند و مفاهیم مختلف طراحی سالیدیتی را پوشش میدهند. این دروس توضیحی بسیار واضح و ساده در مورد کاری که انجام میدهید و علت آن بهعلاوه زمینههای کدنویسی لازم ایجاد میکنند که به شما کمک میکند بخشهایی از قرارداد هوشمند بازی را بسازید. اینجاست که باید آشنایی کلی با کدنویسی داشته باشید؛ البته این آشنایی تا حد زیادی به درک اصطلاحات و مفاهیم اولیه خلاصه میشود.
گفتنی است پس از استفاده از این کدها، هر فصل یک دکمه «بررسی پاسخ» دارد که جواب درست را به شما میدهد تا اشتباهتان را اصلاح کنید. بهعنوان مثال، این بررسی شامل ایجاد ساختارها از جمله تعیین نام و رشته DNA زامبی، عمومیکردن پایگاه داده زامبیها و استفاده از اطلاعات DNA میشود.
مفاهیم پیشرفته سالیدیتی در کریپتوزامبیز
مجموعه برنامه درسی دوم شامل ایجاد راهی برای تکثیر زامبیها با تغذیه و آلودهکردن سایر اشکال حیات است، بهعبارت دیگر افزودن و تعریف پویایی و روابط در بازی. غذای زامبیها میتواند انسانهای بازی باشد، اما طرح درس روشی برای آلودهکردن کریپتوکیتیزها هم از طریق استفاده از اطلاعات DNA آنها برای ایجاد زامبیهای جدید بدون آسیبرساندن به این آواتارهای گرانقیمت NFT پیدا میکند. این مرحله را میتوانیم در یادگیری نحوه تعامل قرارداد هوشمند با یک قرارداد خارجی خلاصه کنیم.
موارد دیگر شامل ساختن زامبیها و همچنین دادن امتیازات ویژه به یک کاربر با استفاده از نقشهبرداری و ایجاد آدرسها است. سپس کاربر باید رابط کریپتوکیتیز ایجاد و تعیین کند که چگونه ژنهای استخراجشده از آنها زامبیهایی با ویژگیهای جدید، مانند دم ایجاد میکنند تا با رنگ و شکل چشم، طرح پوست و طراحی لباس آنها همخوانی داشته باشند.
پس از آن، درسهای بعدی موضوعاتی از جمله مالکیت کریپتوزامبیز، پرداخت کارمزد گس اتریوم و ایمن نگه داشتن زامبیها را پوشش میدهد.
درس پیشرفته: ایجاد توکنهای غیرمثلی از زامبیها
موارد بعدی دروس شامل استفاده از استاندارد توکن ERC-721 برای ایجاد توکنهای تعویضناپذیر و درنظرگرفتن سیستم حراجی برای خرید و فروش و معامله زامبیها بهعلاوه رابط کاربری فرانتاِندی که شامل همهچیز بشود، از تعامل با کیف پول متامسک گرفته تا مدیریت تراکنشها هستند.
دروس پیشرفتهتر شامل آزمایش قراردادهای هوشمند برای بررسی خطاها، بهکارگیری قراردادهای هوشمند و ایجاد اوراکل میشود. در چند مورد، علاوه بر سالیدیتی به جاوا اسکریپت نیز نیاز است.
درسهای بیشتر
پس از آنچه که گفتیم، برنامههای درسی «فراتر از اتریوم» (Beyond Ethereum) بخشهای دیگری از جمله بلاکچینهای غیراتریومی شامل استیبل کوین دییِم (Diem)، زنجیره هوشمند بایننس مبتنی بر اتریوم، استفاده از اثبات دانشصفر (zkSync) و تأمین امنیت برای انتقال توکن را تحت پوشش قرار میدهد.
در نهایت، یک بازی زامبی خواهید داشت که به شما برای ایجاد اپلیکیشنهای غیرمتمرکز بلاکچینی و قراردادهای هوشمند کمک میکند، آن هم در زمانی که بسیاری از شرکتهای بلاکچینی با کمبود شدید توسعهدهندگانی که بلاکچین را درک میکنند، روبهرو هستند.
قصد خرید یا فروش ارز دیجیتال در ایران را دارید؟ در این سایت میتوانید با اطمینان و با چند کلیک خرید کنید:
نام | ویژگیها | امتیاز | لینک ثبتنام |
---|---|---|---|
نوبیتکس |
| ||
صرافی خارجی MEXC |
|