برای تبدیل شدن بک یک توسعه دهنده بلاک چینی باید ابتدا پشتکار زیادی داشته باشید و بتوانید مسائل را از همدیگر تفکیک کنید! طبیعتا برای شروع این کار کار سختی در پیش دارید ولی باید بدانید که تبدیل به توسعه دهنده بلاک چینی نقش آفرینی مهمی در آینده کاری شما خواهد داشت.
فهرست مقاله
Toggleچگونه به یک توسعه دهنده بلاک چینی تبدیل شویم؟
ارزهای دیجیتال و تکنولوژی مورد استفاده آنها در حال تغییر دادن جهان هستند. ارزهای دیجیتال را امروزه میتوان در هرجای جهان پیدا کرد. حتی مادربزرگها هم نام بیت کوین را شنیدهاند.
آنچه ارزهای دیجیتال را بسیار متمایز میسازد، تکنولوژی بلاک چینها است. هر ارز دیجیتال بر اساس تکنولوژی توزیع لجر (DLT) کار می کند و سیستم بلاک چین معروفترین زیر شاخه این تکنولوژی به حساب میآید.
کسانی که اقدام به طراحی و ساخت یک بلاک چین می کنند را توسعه دهندگان بلاک چین یا Block Chain Developer مینامند. اما سوال اینجاست که چگونه میتوان به یک توسعه دهنده بلاک چینی بدل شد؟
هرآنچیزی که شما برای تبدیل شدن به یک توسعه دهنده بلاک چینی نیاز دارید را میتوانید از اینترنت پیدا کنید. بلاک چینها همگی بر منبع آزاد اطلاعات یا Open Source مبتنی هستند. بلاک چینها اسراری ندارند که بتوان مانند پرونده شرکت کوکا کولا آن را در جعبه ای در بسته نگه داشت.
اگر شما مایل به دانستن این مهم باشید که چگونه یک توسعه دهنده بلاک چین شوید، اولین چیزی که باید بدانید، اصول عملکرد بلاک چین است. پس از همینجا شروع میکنیم.
اصول عملکرد بلاک چینها
بلاک چین در حقیقت یک پایگاه دادههای دیجیتال برای ذخیره اطلاعات است. اطلاعات در گروههایی به نام بلاک ذخیره میشوند. بلاک چینها تقریبا چیزی شبیه به محیط اکسل هستند. با اینحال آنها دارای یک سری خصوصیات ویژه خود هستند که عبارتند از:
– غیرمتمرکز بودن
یک بلاک چین را در یک مکان خاص نگهداری و ذخیره نمیکنند. آنها هیچ مرکز مشخصی برای نگهداری ندارند. بلاک چینها را در کامپیوترهای مختلف نگه میدارند. این کامپیوترها را در اصطلاح نود (Node) مینامند. همچنین بلاک چینها را شبکههای «پیر تو پیر» (Peer to Peer) نیز مینامند. چراکه این بلاک چینها به شبکههای واسطه مانند گوگل، مایکروسافت و یا فیسبوک متصل نیستند. لذا هیچ شخصی به تنهایی توانایی کنترل بلاک چین را نداشته و در این سیستم، دو طرف یک معامله به صورت مستقیم و بدون وجود هرگونه واسطهای با یکدیگر معامله می کنند.
– عمومی بودن:
تمامی اطلاعات ذخیره شده بر روی یک بلاک چین ماهیت عمومی دارند. به این معنا که هر کسی می تواند آنها را رصد کند.
– هدایت پذیری بر اساس رضایت:
به این معنا که وقتی یک اطلاعات جدید بخواهد وارد سیستم بلاک چین شود، دستکم بیش از نیمی از نودها باید با ورود آن اطلاعات موافقت کنند. این عمل بلاک چینها را در برابر کلاهبرداریها مصون می سازد.
– تغییر ناپذیری:
به این معنا که اطلاعات وارد شده به سیستم بلاک چین امکان تغییرپذیری یا پاک شدن ندارند. اطلاعات ذخیره شده بر روی یک بلاک چین از طریق انکریپشن ایمن شده و تقریبا امکان هک شدن آنها وجود ندارد.
نرمافزارهایی که بر بستر یک بلاک چین ساخته می شوند را dApps (اپلیکیشنهای غیرمتمرکز) مینامند. نخستین dApps ها توسط بلاک چین بیت کوین ارائه شده و بر اساس سیستم نقل و انتقالات مالی پیر تو پیر کار میکنند. مابقی بلاک چینها مانند NEO و اتریوم اما از dApps های متمرکز دیگر مانند توئیتر، گوگل و اوبر استفاده میکنند.
به عنوان یک توسعه دهنده بلاک چین، شما به تبدیل اینترنت به ابزاری کاملا غیرمتمرکز کمک میکنید. این خیلی اتفاق خوبی است. آیا شما اینطور فکر نمیکنید؟
دومین قدم برای آگاهی از اینکه چگونه میتوان به یک توسعه دهنده بلاک چین بدل شد این است که تصمیم دارید روی کدام بلاک چین کار کنید. دو پلتفرم مهم و پر طرفدار توسعه بلاک چینها عبارتند از نئو و اتریوم. حال بهتر است نگاهی بیندازیم به این دو پلتفرم و اینکه چه امکاناتی به کاربران خود پیشنهاد میدهند…
اتریوم در برابر نئو:
اتریوم ساخته و پرداخته دست «ویتالیک بوترین» بوده و از سال ۲۰۱۵ پا به عرصه حیات نهاد. نئو نیز که در اصل «آنتشیر» (Antshares) نامیده میشود توسط «دا هونگ فئی» و «اریک ژانگ» در سال ۲۰۱۴ بنا نهاده شد. این پلتفرم سپس در سال ۲۰۱۷ به نئو تغییر نام داد.
هر دو پلتفرم به کاربران خود اجازه ساخت dApps ها را میدهند. اما روش آنها از یکدیگر متفاوت است. dApps ها نیز مانند اپلیکیشنهای عادی از زبان های برنامه نویسی مانند C# و جاوا استفاده می کنند. این دو از زبانهای معروفی هستند که توسعه دهندگان نرمافزارها استفاده از آنها را به خوبی میدانند. این مساله نئو را برای استفاده کاربران سادهتر میسازد.
اتریوم نیز شریک تجاری شرکت های بزرگی همچون سامسونگ و مستر کارت است. هرچند اتریوم تمرکز بیشتری بر روی تشویق کاربران خود به توسعه اپلیکیشن ها به نسبت نئو دارد. همچنین این شرکت بیشترین میزان dApp ها را در قیاس با سایر بلاک چین ها در اختیار دارد.
در ادامه مطلب حاضر هرآنچه برای تبدیل شدن به یک توسعه دهنده بلاک چینی لازم است را به شما خواهیم گفت.
یک: Solid و ارزهای دیجیتال را فرا بگیرید. برای انجام این کار، باید درگیر آن شوید! از فرومهای ویژه بیت کوینها در Reddit بازدید کرده و ویدئوهای آموزشی در این خصوص را در یوتیوب یا وب سایت Coindesk ملاحضه بفرمایید.
دو: مقداری ارز دیجیتال بخرید. بهترین راه آموختن در خصوص ارزهای دیجیتال مراجعه به مراکز فروش این ارزها و خرید مقداری از آنها است. وب سایت Coinbase یکی از بهترین گزینهها برای خرید این ارزها به ویژه برای مشتریان مبتدی است. مقداری ارز دیجیتال خریده و سعی کنید با استفاده از آنها دنیای ارزهای دیجیتال را کشف کنید!
سه: با برنامه نویسی ابتدایی توسعه بلاک چین با استفاده از دورههای Space Doggos یا CryptoZombiesآشنا شوید. هر دو دوره از جمله بهترین دوره های آموزش بلاک چین به حساب میآیند.
چهار: در مرحله پیشرفته به دنبال دورههای تکمیلی و حرفه ای تر مانند BitDegree بروید.
پنج: کد نویسی کنید! از تمامی مهارت های خود برای ایجاد dApp ها و قراردادهای هوشمندی که در حال تغییر دادن جهان هستند استفاده کنید.
ity چیست؟
«سولیدیتی» نرم افزاری است که توسط تیم اتریوم نوشته شده و از سال ۲۰۱۴ تحت مدیریت دکتر «گاوین وود» فعالیت می کند. از این نرم افزار برای نوشتن قراردادهای هوشمند استفاده می شود. قراردادهای هوشمند برای ساخت dApp ها استفاده می شوند.
قراردادهای هوشمند شامل مجموعه قوانین و دستورالعملهایی هستند که تراکنش ها را در مسیر بلاک چین اتریوم هدایت می کنند. اگر شرایط مطابق مفاد قرارداد باشد، آنگاه تراکنش انجام می شود و بالعکس. به عنوان مثال نگاهی به تراکنشهایی بیندازید که در دو بلاک چین مختلف انجام می شوند. مثلا این تراکنش بین دیانا و رز انجام می پذیرد.
بلاک چین بیت کوین:
دیانا مشغول فروش بلیط یک مسابقه فوتبال به ارزش ۵ بیت کوین است. رز تصمیم می گیرد یک بلیط همان مسابقه را از دیانا بخرد. دیانا ۵ بیت کوین از رز گرفته و بلیط فوتبال را برای وی ارسال می کند. در سیستم بلاک چین بیت کوین روش معامله به این شکل است.
به نظر می رسد معامله خوبی است. نه؟ اما اگر دیانا پس از دریافت بیت کوین ها بلیط را برای رز ارسال نکند چه؟ پس دیانا و رز نیازمند یک قرارداد هوشمند برای انجام معامله خود هستند. حالا اجازه دهید ببینیم انجام تراکنش مالی بر روی بلاک چین اتریوم به چه شکل خواهد بود.
بلاک چین اتریوم:
دیانا می خواهد بلیط مسابقه فوتبال خود را به ارزش ۷۰ اتریوم بفروشد. رز نیز خواهان این بلیط است؛ پس ۷۰ اتریوم برای دیانا ارسال می کند. حال فرض کنید هیچ پولی از رز دریافت نکرده و البته بلیط خود را هم برای دیانا ارسال کرده است.
در حقیقت هر دو طرف معامله باید به وظیفه خود عمل کنند تا فرآیند معامله تکمیل شود. قراردادهای هوشمند می توانند در هدایت تمامی تراکنش ها از امور مربوط به رای گیری در انتخابات گرفته تا قراردادهای اجاره خانه، ایفای نقش کنند. حالا ببینیم سولیدیتی چگونه عمل می کند.
سولدیتی چگونه عمل می کند؟
سولدیتی در حقیقت یک زبان کد نویسی بسیار پیشرفته است. درست مانند نوشتن برنامههای کامپیوتر که از یک زبان کد نویسی پیشرفته برای ساخت آن استفاده میشود؛ اما در عمل به ساده ترین شکل زبان برنامه نویسی اجرا می شود.
یک زبان کدنویسی ساده برای خواندن و نوشتن اطلاعات روی کامپیوتر کافی است. زبان های سطوح پایینتر باید با استفاده از اعداد دیجیتال ۰ و ۱ ساخته شوند. به این سیستم، سیستم اعداد باینری یا جفتی گفته می شود.
زمانی که شما اقدام به ساخت dApp ها و قراردادها بر روی اتریوم می کنید، قوانینی در این راه وجود دارند که شما را راهنمایی می کنند. به عنوان مثال، اگر بخواهید یک ارز دیجیتال را با استفاده از سولیدیتی طراحی کنید، می بایست مجموعه ای از قوانین موسوم به ERC20 را رعایت فرمایید. این قوانین بر روی بلاک چین ها اجرا شده و نشان می دهد که dApp ها هنگام چگونه کار می کنند.
توسعه بلاک چین اتریوم در یک محل ویژه به نام ماشین مجازی اتریوم رخ می دهد.
ماشین مجازی اتریوم:
ماشین مجازی اتریوم محیطی است که برنامه های کامپیوتری می توانند در آنجا نوشته شوند. برنامه های جدید در ماشینهای مجازی صورت می گیرد. لذا این برنامهها می توانند از سایر برنامهها جدا نگهداری شوند. تصور کنید که در حال ساختن یک نوع ماشین جدید هستید. خوب، به نظر می رسد انجام تست رانندگی با یک اتومبیل تازه ساخته در یک خیابان پر ترافیک کار چندان جالبی نباشد. اینطور نیست؟ بهتر است اتومبیل خود را در محل کارخانه یا یک خیابان خلوت تست کنید. اینگونه نه اتومبیل شما آسیب خواهد دید و نه برای اتومبیل های دیگر مشکل ساز و حادثه زا خواهد بود.
ماشین مجازی اتریوم هم اینگونه کار می کند. در اینجا ما یک کارخانه ساخت قراردادهای هوشمند جدید داریم. همین امر موجب میشود اتریوم به مکانی بزرگ برای کسب اطلاع از بلاک چین بدل شود. این ماشین مجازی به کاربران فرصت می دهد تا بدون هیچگونه نگرانی در خصوص خطاهایشان بر روی یک پلتفرم برنامه نویسی بلاک چینی کار و تمرین کنند. در این مرحله هر اشتباهی از جانب توسعه دهنده بلاک چین رخ دهد، بر روی مابقی بلاک چین تاثیر نخواهد گذاشت.
ماشینهای مجازی در حال کامل شدن هستند. به این معنا که هرآنچه کامپیوترها قادر به انجام آن هستند، شما می توانید آن را با ماشین مجازی اتریوم طراحی نمایید. تنها محدودیت بر سر این راه، توانایی تصور کردن شما خواهد بود! تنها فکر کنید که تمام ایده های مهیج خود را با استفاده از ماشین مجازی اتریوم می سازید!
پس حالا دیگر میدانید سولیدیتی چیست و قراردادهای هوشمند چگونه کار می کنند و توسعه آنها در چه محیطی انجام می شود. خوب حالا برای قدم بعد شما به عنوان یک توسعه دهنده بلاک چین باید نگاهی به سولیدیتی کد و نحوه استفاده از آن است.
سولدیتی کد:
یادگیری یک سولیدیتی کد شباهت بسیار زیادی به یادگیری یک زبان جدید دارد. اساس سولیدیتی ها مانند اسامی، صفات و افعال هستند. اسم ها، صفات و افعال ابزراهایی برای ساختن یک جمله به حساب می آیند. در اینجا به برخی ابزارهای ایجاد قراردادهای هوشمند اشاره می شود:
– متغیرها:
متغیرها برای ذخیره اطلاعات بر روی یک بلاک چین استفاده می شوند و انواع گوناگونی دارند. در اینجا به برخی از آنها اشاره می کنیم:
– بولین ها: بولین ها برای ذخیره سازی اطلاعاتی هستند که می توانند درست یا غلط باشند. کلیدواژه بولین، واژه bool است.
– عدد صحیح: این اعداد برای ذخیره اطلاعات به شکل اعداد استفاده میشوند. دو دسته عدد صحیح وجود دارند: اعداد صحیح عادی که می توانند اعداد مثبت یا منفی باشند و کلید واژه آنها int است. اعداد صحیح بدون نشانه که تنها شامل اعداد مثبت و کلیدواژه آنها unit است.
– آدرس ها: از آدرس ها در حقیقت به عنوان آدرس اتریوم استفاده می شود. هر یک از کاربران اتریوم آدرس ویژه خود را در بلاک چین اتریوم دارد. در مثال یاد شده، دیانا و رز هر دو برای نهایی سازی قرارداد هوشمند مبادله خود نیازمند آدرس اتریومی هستند. کلید واژه آن نیز address است.
– استیرینگ ها: از آنها برای ثبت اطلاعات متنی استفاده میشود. کلید واژه آنها نیز string است.
• عملکردها:
یک عملکرد یا function برای انجام کاری خاص انجام می شود. یک عملکرد می تواند از اطلاعات مختلف برای ایجاد اطلاعات جدید استفاده کند. به عنوان مثال در عملیات جمع ۵=۲+۳، اعداد ۲ و ۳ متغیرهای این عملیات به حساب میآیند که در اینجا عمل جمع عملکرد به حساب میآید. عدد ۵ نیز خروجی اطلاعات است. برای این عملیات، از کلید واژه function add استفاده می کنیم.
• ساختارها یا Structs:از ساختارها برای قرار دادن متغیرها در گروه استفاده می شود. مثال چگونگی ساخت یک اتومبیل خاطرتان هست؟ شما میتوانید از یک ساختار جهت گروهبندی اطلاعات دربتاره اتومبیل خود استفاده کنید.
این موضوعات، تنها موارد ساده و کوچکی هستند که هر وقت شما به یک توسعه دهنده بلاک چینی تبدیل شدید، به راحتی آنها را خواهید آموخت. ممکن است مبتدیان در ابتدای امر از برخی موارد ذکر شده مانند سولیدیتی بترسند. اما اصلا نگران نباشید؛ به سادگی تمامی اینها را خواهید آموخت. حتی میتوانید از کلاس های آنلاینی که در همین خصوص برگزار میشوند استفاده کنید. به عنوان مثل می توانید از دوره های Space Doggos یا CryptoZombies استفاده کنید. این دو دوره در حقیقت کلاسهای مفیدی برای مبتدیان به حساب میآید که به شکل انجام یک بازی برگزار می شوند. به این معنی که ساختار کلی اتریوم را در قالب بازی به شما خواهد آموخت. در ادامه به بررسی این دو دوره خواهیم پرداخت:
Space Doggos
این دوره به مهارت آموزان این امکان را میدهد تا از طریق ایجاد کاراکترها و در جریان یک سفر مجازی به فضا، کار توسعه بلاک چینی را آموزش ببینند.
نخستین فصل درسی این دوره شامل ده بخش از اطلاعات و وظایفی میشود که شما باید آنها را آغاز کرده و به انجام برسانید. این بخشها شامل توضیحات مربوط به متغیرها، عملکردها و ساختارهایی که پیشتر با آنها اشاره شد میشود.
کاربران می توانند سگ فضانورد خود را با استفاده از یک کلید سولیدیتی واقعی طراحی کرده و بسازند. برای انجام این کار، کاربران میبایست برای حالات، شکل و مشخصات سگ خود، کدنویسی کنند. هرچه سفر فضایی شما در این دوره به پیش میرود، فرآیند ادامه کار با این سگ فضایی نیز پیچیدهتر خواهد شد.
این دوره آموزشی به عنوان دورهای مقدماتی میتواند برای کاربران بسیار سودمند باشد.
CryptoZombies
این دوره نیز شبیه به دوره قبلی است. فقط در اینجا شما باید ارتش زامبی ها را بسیازید. برای انجام این کار اول از همه باید یک کارخانه تولید زامبی بسازید. سپس کاربران میتوانند شکل و مشخصات زامبیهای خود را کدنویسی کرده و حتی راه حمله آنها به قربانیان خود را نیز طراحی کنند. همچنین شما این امکان را نیز خواهید داشت تا سیستم جنگ زامبی ها را طراحی کنید.
این دوره آموزشی در حقیقت بسیار مهیج و سرگرم کننده بوده و مفاهیم بسیار سخت درسی را در این قالب به شما آموزش می دهد. البته نحوه آموزش این دو دوره دقیقا و در جزئیات با یکدیگر یکسان نیستند. البته اگر قصد شما تبدیل شدن به یک توسعه دهنده بلاک چینی است، ما دوره Space doggos را به شما پیشنهاد میکنیم.
پس از اتمام دورههای مقدماتی برای یادگیری جدی و حرفهای کار توسعه بلاک چین، میبایست دورههای پیشرفته تر را بگذرانید که در میان همه این دورهها ما به شما دوره BitDegree را پیشنهاد میکنیم.
این دوره برای آن دسته از کاربرانی که از دورههای قبلی را با موفقیت سپری کردهاند پیشنهاد می شود. این دوره با ایجاد تنظیمات محیط آغاز شده و کاربران را به مسیر چگونگی راه اندازی ارز دیجیتال خود هدایت میکند.
خلاصه:
برای تبدیل شدن به یک توسعه دهنده بلاک چینی میبایست نکات زیر را رعایت بفرمایید:
۱) اصول اولیه سیستم بلاک چین و ارزهای دیجیتال را فرا بگیرید. برای انجام این کار، باید درگیر آن شوید! از فرومهای ویژه بیت کوینها در Reddit بازدید کرده و ویدئوهای آموزشی در این خصوص را در یوتیوب یا وب سایت Coindesk ملاحضه بفرمایید.
۲) مقداری ارز دیجیتال بخرید. بهترین راه آموختن در خصوص ارزهای دیجیتال مراجعه به مراکز فروش این ارزها و خرید مقداری از آنها است. وب سایت Coinbase یکی از بهترین گزینهها برای خرید این ارزها به ویژه برای مشتریان مبتدی است. مقداری ارز دیجیتال خریده و سعی کنید با استفاده از آنها دنیای ارزهای دیجیتال را کشف کنید!
۳) با برنامه نویسی ابتدایی توسعه بلاک چین با استفاده از دورههای Space Doggos یا CryptoZombiesآشنا شوید. هر دو دوره از جمله بهترین دوره های آموزش بلاک چین به حساب میآیند.
۴) در مرحله پیشرفته به دنبال دورههای تکمیلی و حرفه ای تر مانند BitDegree بروید.
۵) کد نویسی کنید! از تمامی مهارت های خود برای ایجاد dApp ها و قراردادهای هوشمندی که در حال تغییر دادن جهان هستند استفاده کنید.