با یک نگاه کلی به فرصتهای شغلی در حوزه کامپیوتر و برنامه نویسی، چه در داخل ایران و چه در خارج ایران، متوجه میشوید که فرصتهای کاری بسیار زیادی برای دو تکنولوژی جاوا اسکریپت و بلاکچین وجود دارد. یکی از این موارد همواره تقاضاهای شغلی بسیار زیادی داشته و توانسته به خوبی در بازار کار ایران نیز جای خود را باز کند. منظور از این مورد همان جاوااسکریپت است. زبان برنامه نویسی ای که دنیای وب با آن صحبت میکند و تقریبا همه وبسایتها به نوعی از ویژگیهای آن استفاده میکنند.
تکنولوژی دیگر که در ایران به عنوان یک تکنولوژی نوپا و در حال رشد قلمداد میشود، بلاکچین است. در حال حاضر براساس آمار وبسایتهای معتبری مانند Glassdoor حقوق یک توسعه دهنده بلاکچین به رقمی نزدیک به ۱۱۰ هزار دلار در سال میرسد که در بین حوزههای مختلف توسعه نرم افزار یک حقوق بالا و مناسب به حساب میآید.
پیوند جاوا اسکریپت و بلاکچین موضوعی است که امروزه در بین توسعه دهندگان و انجمنهای مختلف برنامه نویسی به یکی از داغترین موضوعات گفتگو تبدیل شده و همگان نیز از این پیوند استقبال میکنند. اما آیا چنین چیزی امکان پذیر است؟ در این مقاله از وبسایت سکان آکادمی قصد داریم در ارتباط با زیرساختهای لازم و تکنولوژیهایی صحبت بکنیم که دنیای مدرن را شکل میدهند.
جاوا اسکریپت و بلاکچین در کنار همدیگر
زمانی که مشغول توسعه یک اپلیکیشن مبتنی بر بلاکچین هستید باید به اندازه کافی به نسبت ابزارهایی که در این فرایند استفاده میکنید مطمئن باشید. اگر به بیشتر توسعه دهندگانی که با جاوا اسکریپت آشنایی ندارند بگوییم که میتوان از جاوا اسکریپت در توسعه بلاکچین استفاده کنیم یا باورشان نمیشود و یا اینکه اهمیت کمی به آن میدهند.
دلیل این موضوع نیز تا حد زیادی روشن است. جاوا اسکریپت زبان برنامه نویسی مخصوص توسعه بلاکچین نیست و مستندات کاملی نیز در این زمینه تا به حال نوشته نشده است. اما تجربهها و اپلیکیشنهایی که در چند سال گذشته نوشته شده نشان می دهد که جاوا اسکریپت نیز درست به اندازه زبان برنامه نویسی مانند پایتون میتواند در فرایند توسعه اپلیکیشنهای مبتنی بر بلاکچین نقش مثبتی داشته باشد.
از طرفی دیگر با گسترش Web3 حذف کردن جاوا اسکریپت از این نسخه جدید وب نیز، تقریبا غیر ممکن است. جاوا اسکریپت با داشتن محیط اجرایی مانند نودجیاس (Node.js) و فریمورک پرقدرتی مانند ریکت (React.js) خود را برای ورود به دنیای بلاکچین آماده کرده است. از این جهت میتوان با خیال راحت از آن استفاده کرد و بابت ابزارهایی که برای توسعه بلاک چین در اختیار دارید میتوان اطمینان داشت.
یکی دیگر از چالشهای اصلی که با پیوند یافتن جاوا اسکریپت و بلاکچین تا حد بسیار زیادی رفع میشود، بینیاز به یادگیری زبانهای برنامه نویسی جدید است. از آنجایی که یک توسعه دهنده فول-استک جاوا اسکریپت تقریبا تمام زمان یادگیری خود را به جاوا اسکریپت اختصاص داده، به نظر نمیرسد که بتواند زمان کافی برای یادگیری زبانهای پیچیدهتری مانند Rust و Solidity برای توسعه اپلیکیشنهای مبتنی بر بلاکچین پیدا کند.
چگونه میتوانیم از جاوا اسکریپت در توسعه اپلیکیشنهای بلاکچین استفاده کنیم؟
این موضوع یکی از قسمتهای کار است که کمی چالش برانگیز بوده و ممکن است نیاز به زمان کافی برای یادگیری استفاده از جاوا اسکریپت در توسعه اپلیکیشنهای بلاکچین داشته باشد. اگر به تاریخ قبل از ایجاد نودجیاس برگردیم، توسعه اپلیکیشن مبتنی بر ساختار بلاکچین در جاوا اسکریپت تقریبا غیر ممکن به نظر میرسید. اما از زمان ساخت نودجیاس همه چیز تغییر بسیار زیادی به خود دید.
در واقع با ایجاد نودجیاس، دامنه کاربری جاوا اسکریپت بسیار بیشتر شده و توانسته در حوزههای مختلفی کاربرد داشته باشد. بلاک چین یکی از این حوزههاست. در حال حاضر توسعه دهندگان بسیار زیادی هستند که از نودجیاس و ابزارهای دیگری در کنار جاوا اسکریپت برای توسعه بلاکچین استفاده میکنند. بیایید با چند مورد از این ابزارها آشنا شویم.
به عنوان یک نکته مهم پیش از آنکه شروع به معرفی این موارد بکنیم باید بگویم که هر ابزاری که انتخاب کردید بسیار مهم است که مستندات و آموزشهای دقیق و کاملی داشته باشد. در غیر اینصورت همه چیز دو برابر سختتر خواهد شد. ۳ ابزاری که در زیر معرفی خواهد شد از جمله پرطرفدارترین ابزارها بوده و مستندات دقیقی نیز ارائه میدهند.
۱- فریمورک Hardhat
Hardhat یکی از بهترین و کاملترین فریمورکهای جاوا اسکریپتی برای توسعه بلاکچین است. داشتن مستندات و آموزشهای کامل، ادغامپذیری ساده و متن باز بودن از جمله نقاط قوتی است که در این فریمورک میتوانید پیدا بکنید. حقیقتا هر کسی که از کار کردن با کتابخانهها و فریمورکهای جاوا اسکریپتی لذت میبرد باید یک بار هم که شده از Hardhat استفاده کرده و آن را امتحان بکند. از طرفی دیگر اگر بخواهید در شبکه اتریوم کار بکنید و اپلیکیشنهای مبتنی بر ساختار اتریوم را ایجاد بکنید Hardhat باید انتخاب اصلی شما در بین فریمورکهای جاوا اسکریپتی باشد.
Hardhat با استفاده کردن از امکانات موجود در کتابخانههای Waffle و Ethers.js به شما قابلیت تست اپلیکیشنها را میدهد. همچنان با در نظر گرفتن این موضوعات میتوان نتیجه گرفت که Hardhat برای شبکه اتریوم میتواند بسیار بهتر از Web3.js موضوعات مورد نیاز شما را پیادهسازی بکند.
Hardhat توسط جامعهای از توسعه دهندگان ساخته شده و توسط همین گروه نیز نگهداری میشود. از آنجایی که یک شبکه Discord اختصاصی نیز دارند، سوالات شما در ارتباط با این فریمورک در سریعترین زمان ممکن پاسخ داده خواهد شد.
۲- فریمورک Truffle
در چند سال گذشته Truffle به عنوان یک ابزار اصلی در جهت توسعه قراردادهای هوشمند و اپلیکیشنهای مبتنی بر بلاکچین مورد استفاده قرار گرفته است. دلیل این موضوع نیز ساده است: Truffle یک چهارچوب و در نهایت ابزار قدرتمند و استاندارد است. البته به عنوان یک نکته مهم این موضوع را بگوییم که Truffle ابزارهای تست پیشرفتهای مانند Hardhat نداشته اما به سادگی میتواند با ابزارهای تست مربوط به بلاکچین ادغام شود. اما یکی از مشکلاتی که میتواند داشته باشد این است که سرعت کاری آن به نسبت Hardhat کمتر است.
Truffle توسط یک گروه از مهندسین خلاق نرم افزار ایجاد شده و از پشتیبانی کاملی برخوردار است. همچنین با نگاهی به صفحه مخزن این فریمورک در گیتهاب میتوانید پاسخگویی کامل آنها به مشکلات را مشاهده کنید.
برای دوست داران تایپ اسکریپت نیز این موضوع را بیان کنیم که Truffle تنها با تایپ اسکریپت کار کرده و شما برای استفاده از آن نیاز دارید که حتما بتوانید به زبان تایپ اسکریپت کدنویسی بکنید. سازگاری بالای این فریمورک با تایپ اسکریپت نه تنها حرفهای بودن آن، بلکه مطمئن بودن به لحاظ اجرایی را نشان میدهد.
۳- ابزار توسعه Lisk SDK
LiskSDK مجموعهای ابزار توسعه متن باز است که برای توسعه اپلیکیشنهای بلاک چین و وب ۳ ایجاد شده است. استفاده از این ابزار بسیار ساده بوده و کاربری نسبتا آسانی دارد. از طرفی دیگر در این SDK تمام ابزارها برای ایجاد یک اپلیکیشن مقیاسپذیر و دیپلوی آن براساس نیازهای تجاری امروز در کنار همدیگر قرار گرفتهاند.
البته هدف اصلی Lisk کمی با دو فریمورک قبلی متفاوت است. هدف اصلی این SDK ایجاد بستر مناسبی برای توسعه اپلیکیشنهای مناسب با دنیای وب۳ است. به همین دلیل اگر تمرکز اصلی شما از پیوند جاوا اسکریپت و بلاکچین توسعه دنیای وب ۳ است پس این ابزار انتخاب هوشمندانهتری خواهد بود.
زبان برنامه نویسی اصلی که برای Lisk انتخاب شده است جاوا اسکریپت بوده، به همین دلیل اگر قصد دارید بیشترین استفاده پذیری از این فریمورک را داشته باشید بهتر است سراغ جاوا اسکریپت بروید.
نمونه اپلیکیشنهای ساخته شده با جاوا اسکریپت و بلاکچین
نمونه اپلیکیشنهایی که با استفاده از ترکیب جاوا اسکریپت و بلاکچین ساخته شده است روز به روز در حال بیشتر شدن بوده و گسترش نیز یافته است. ما در لیست زیر که آماده کردهایم شما را با پنج نمونه اپلیکیشن به صورت خلاصه آشنا میکنیم. میتوانید لیست کاملی از ۲۰ اپلیکیشن ساخته شده با استفاده از جاوا اسکریپت و بلاکچین را در این لینک مشاهده کنید.
- Gun – یک پروتکل امنیت سایبری برای سینک یا همگام کردن دادههای مربوط به گرافهای غیرمتمرکز.
- Lbry-Desktop – یک مرورگر و کیف پول مبتنی بر دسکتاپ که برای LBRY مورد استفاده قرار میگیرد.
- SavjeeCoin – این اپلیکیشن در واقع یک بلاکچین ساده نوشته شده با جاوا اسکریپت است که هدف آموزش دادن بلاکچین به افراد مبتدی را دارد.
- FileNation – یک روش ساده برای ارسال فایل با استفاده از IPFS.
- Iexec-SDK – یک کتابخانه جاوا اسکریپتی به همراه یک ابزار CLI برای توسعه دهندگان در جهت ارتباط برقرار کردن با سهام iExec.
جمع بندی: جاوا اسکریپت و بلاکچین ترکیبی خارق العاده
ورود به دنیای بلاکچین و برنامه نویسی مربوط به آن چندان هم که به نظر میرسد سخت نیست. از آنجایی که ابزارها و فریمورکهای بسیار زیادی حول محور این تکنولوژی ساخته شده و توانسته افراد تکنیکی بسیار زیادی را به خود جذب بکند، شروع یادگیری آن از اهمیت بالایی برخوردار است.
نیازی نیست که با زبانهای برنامه نویسی پیچیدهای مانند Rust و یا Solidity کار را شروع کنید، اگر جاوا اسکریپت را بلد باشید همین الان میتوانید در فرایند توسعه اپلیکیشنهای مبتنی بر بلاکچین شرکت داشته باشید.
اما اگر با جاوا اسکریپت به خوبی آشنایی ندارید به شما پیشنهاد میدهم در ابتدا با دوره آموزشی جاوا اسکریپت مجموعه سکان آکادمی کار خود را شروع کرده و سپس سراغ بلاکچین بروید.