متأسفانه همانطور که میگفتیم، وب منابع خوبی برای یادگیری در مورد سالیدیتی و توسعه بلاک چین ندارد. اگر مایل به مطالعه بیشتر در مورد این زبان برنامه نویسی هستید می توانید مقاله آموزش سالیدیتی را بخوانید.
ورود به صنعت بلاک چین که در آن برنامه نویس به طور متوسط حدود 140 هزار دلار در سال حقوق می گیرد، احتمالاً بهترین سرمایه گذاری است که می توانید به عنوان یک طراح انجام دهید.
متأسفانه، کمبود منابع خوب در وب به چشم می خورد و یافتن راهنمای طراحی بلاک چین خوب ممکن است خسته کننده باشد.
من وقت گذاشتم تا بهترین ویدیوها، دورهها و وبسایتهای آنلاین و همچنین بهترین منابع را برای یادگیری وب3 و توسعه بلاک چین گردآوری کنم.
از مرحله صفر برنامه نویسی گرفته تا طراحی تخصصی سالیدیتی و بلاک چین، به همین دلیل است که ما با اصول علوم کامپیوتر شروع می کنیم.
من دروغ نمی گویم، توسعه بلاک چین موضوع سختی است . قبل از کاوش عمیق تر در نود ها و بلاک ها و قدم گذاشتن در این راه، بهتر است اصول علوم کامپیوتر را بیاموزید:
دوره رایگان CS50 – مبانی علوم کامپیوتر – که توسط خود دانشگاه هاروارد ارائه شده، تمام آنچه را که برای درک اصول کامپیوتر و مدیریت داده ها نیاز دارید به شما آموزش می دهد.
زمانی که درک درستی از CS پیدا کردید، زمان آن فرا رسیده است که بدانید بلاک چین چگونه کار می کند، چرا مفید است و محدودیت های آن چیست.
به عنوان یک توسعه دهنده وب3، باید بدانید که بلاک چین چیست، چگونه کار می کند و چرا ممکن است در نحوه مبادله کالاها و پرداخت ها اختلال ایجاد کند.
فناوری بلاک چین فقط به سکه های رمزنگاری مرتبط نیست، بلکه به یک سیستم محاسبات ابری توزیع شده تبدیل شده است که قادر به اجرای بک اندهای کامل در برنامه های غیرمتمرکز پیشرفته (DApps) است.
وقتی در مورد بلاک چین، نودها، اجماع و همه اجزای اصلی این فناوری یاد گرفتید، شروع به پرسیدن خواهید کرد:
“چه نوع برنامه هایی را می توانم با استفاده از بلاک چین طراحی کنم و توسعه دهم؟”
برنامه هایی که بر اساس بلاک چین ساخته شده اند، برنامه های غیرمتمرکز یا DApps نامیده می شوند و دارای:
یک فرانت اند استاندارد که با استفاده از جاوا اسکریپت یا فریمورک ها/کتابخانه هایی مانند React، Vue، Svelte و غیره ساخته شده است.
پشتیبان Solidity/Solana/Rust که بر اساس بلاک چین ساخته شده اند.
برای درک چگونگی کارکرد فرانت اند و بک اند یک DApp: برقراری ارتباط و تبادل داده، باید توسعه فرانت اند و اصول اولیه توسعه استاندارد بک اند، APIها و الگوها را یاد بگیرید.
همانطور که گفته شد برنامه های غیرمتمرکز دارای یک جاوا اسکریپت استاندارد یا فرانت اند فریم ورک جاوا اسکریپت هستند، به همین دلیل است که قبل از توسعه اولین DApp، یادگیری اصول اولیه توسعه فرانت اند و نحوه کار وب بسیار مهم است.
HTML، CSS، HTTP، جاوا اسکریپت را بیاموزید، یک فریم ورک انتخاب و شروع به ساخت وب سایت های استاتیک کنید.
بکاند برنامههای غیرمتمرکز بهشدت با بک اندهای برنامههای «استاندارد» متفاوت است، چرا که فناوری بلاک چین به عنوان منبع اصلی ذخیرهسازی دادههای غیرمتمرکز استفاده میشود، در حالی که بک اندهای استاندارد معمولاً از پایگاههای داده یا ذخیرهسازی اشیا استفاده میکنند.
با این حال، اکثر اصول فنی یکسان هستند.
نحوه مبادله داده های فرانت و بک اند را فرا گیرید.
Node، Express، DBs، HTTP، نحوه توسعه APIها و شروع به کارگیری برنامه های کاربردی پیشرفته را یاد بگیرید.
یک توسعه دهنده وب3 باید بداند که اتریوم چگونه کار می کند.
اتریوم نرم افزاری است که بر روی شبکه ای از رایانه ها اجرا می شود و تکرار و پردازش برنامه های کوچکی به نام قراردادهای هوشمند را تضمین می کند.
اتریوم و قراردادهای هوشمند مانند نان و پنیر هستند، شما باید هر دو را درک کنید.
قرارداد هوشمند نرم افزاری است که روی یک پلتفرم مبتنی بر بلاک چین ذخیره می شود و به طور خودکار یک توافق نامه را اجرا می کند.
در قالب Solidity، Rust یا Vyper (Solidity اما با طعم Python) نوشته می شود.
دانستن اینکه قراردادهای هوشمند چیست، کافی نیست، به عنوان یک توسعه دهنده وب3 یا بلاک چین، باید بدانید که چگونه قراردادهای هوشمند خود را بنویسید. اینجا جایی است که سالیدیتی به فریاد می رسد.
سالیدیتی یک زبان برنامه نویسی سطح بالا و قرارداد محور برای نوشتن قراردادهای هوشمند است که به برنامه نویسان اجازه می دهد تا کدهای خوداجرای را که به DApp های بلاک چین قدرت می دهد، بنویسند.
به نظر می رسد یکی از بهترین منابع برای یادگیری در مورد سالیدیتی آموزش ساخت بازی در بلاکچین با سالیدیتی است، اگر به طراحی و ساخت بازی و یا به ایجاو و پیاده سازی قراردادهای هوشمند علاقهمند هستید، این دوره میتواند برای شما بسیار جذاب باشد. مقاله بازار کار سالیدیتی یکی از مقالات آموزشی است که می توانید به راحتی به اطلاعات جامعی در این زمینه بدست آورید.
اکنون که میدانید چگونه قراردادهای هوشمند را ایجاد کنید، به راهی نیاز دارید که با استفاده از چیزی از HTTP گرفته تا Websockets، فرانت اند خود را با بک اند سالیدیتی (یا چیزهای مشابه) نزدیک یا دور متصل کنید.
برای انجام این کار می توانید بین دو کتابخانه جاوا اسکریپت یکی را انتخاب کنید:
10.1 Web3.js را بیاموزید
web3.js مجموعهای از کتابخانهها است که به شما امکان میدهد با استفاده از HTTP، Websockets و سایر پروتکلهای ارتباطی مستقیماً از فرانتاند مبتنی بر جاوا اسکریپت به یک نود نزدیک یا دور اتریوم متصل شوید.
در مقاله آموزشی وب3 می توانید نکات ریز و مهم این مبحث را فراگیرید.
10.2 Ethers.js را یاد بگیرید
Ethers.js یک کتابخانه جاوا اسکریپت سبک وزن است که به عنوان جایگزینی برای Web3.js جهت اتصال فرانت اند جاوا اسکریپ با قراردادهای هوشمند استفاده می شود.
یادگیری با تمرین و حل مسائل، یک مورد کلیدی است، این روش به معنای واقعی، بهترین راهی است که مغز ما برای حفظ اطلاعات دارد.
برای تقویت درک خود از توسعه بلاک چین، اولین DApps خود را بسازید.
آزمایش قراردادهای هوشمند بلاک چین امری کلیدی است.
چیزی که بلاک چین را منحصربفرد می کند، برگشت ناپذیری آن است: هنگامی که یک قرارداد هوشمند اضافه می شود، نمی توان آن را ویرایش یا فراخوانی کرد، و استقرار آن نیز هزینه واقعی (کارمزد GAS) دارد.
به همین دلیل است که شما باید یاد بگیرید که چگونه قراردادهای هوشمند خود را قبل از استقرار به طور کامل آزمایش کنید.
4 نوع تست برای آزمایش قراردادهای هوشمند شما وجود دارد:
توسعه خود را با Truffle سرعت ببخشید: یک محیط توسعه، فریم ورک آزمایشی و پایپ لاین دارایی در هر بلاک چین EVM.
همراه با:
تدوین قرارداد هوشمند داخلی
چارچوب migration قابل اسکریپت
و بیشتر.
از طرف دیگر، گاناش در مجموعه Truffle گنجانده شده است و برای تست مخاطبین اتریوم استفاده می شود. در واقع بلاک چین شبیهسازی شده را با حسابهایی ایجاد میکند تا تراکنشهای شما را تست و از راهاندازی بویلرپلیت برای شروع توسعه DApp خودداری کند.
نتیجه
ممکن است یادگیری وب3 و توسعه بلاک چین در ابتدا دلهره آور به نظر برسد، اما همه می توانند این کار را انجام دهند.
گام به گام از مبانی علوم کامپیوتر، تا جاوا اسکریپت، از سالیدیتی تا برنامه های کاربردی DeFi پیشرفته، بیاموزید.
توسعه بلاک چی را در یک هفته یاد نخواهید گرفت، اما می توانید آن را در یک سال انجام دهید.