آموزش GO (golang): راهنمای مختصر برنامهنویسی بلاکچین با GO
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یادگیری برنامهنویسی یک بلاکچین مقدماتی با استفاده از زبان برنامهنویسی GO متعلق به Google
- درک تکنولوژی بلاکچین به صورت تئوری از طریق کدنویسی یک اپلیکیشن کاربردی
- درک الگوریتم مورد استفاده برای استخراج Nonce و مفهوم سختی
- درک چگونگی عملکرد مکانیزمهای اجماع در بلاکچین و چگونگی به کارگیری مفهوم Proof-of-Work (PoW)
- درک فرآیند تایید تراکنشهای بلاکچین ذخیره شده در Blockها
- درک تئوری پشت ارسال/دریافت ارزهای دیجیتال از طریق بلاکچین
- درک نقش هشینگ و ذخیرهسازی هشِ مقادیر در مدیریت بلاکچین
- استفاده از jQuery در یک قالب سادهی HTML در GO
پیشنیازهای دوره
- مهارتهای اولیه برنامهنویسی در GO یا هر زبان برنامهنویسی با کارایی بالا (مانند C/C++/C# ،Java ،Rust)
- درک اولیه از تکنولوژی بلاکچین، موارد استفاده از ارزهای دیجیتال و همچنین تعریف و مفهوم تراکنشها
- نصب بودن GO (حداقل نسخه 1.21) و توانایی کامپایل و اجرای کد GO
- مفید خواهد بود: داشتن محیط توسعه یکپارچه (IDE) با پشتیبانی از زبان برنامهنویسی GO
- مفید خواهد بود: تجربه اسکریپتنویسی با bin/bash/ (در Linux/macOS) یا Command Prompt/PowerShell (در MS Windows)
توضیحات دوره
سفری هیجانانگیز را آغاز کنید و به دنیای برنامهنویسی با زبان برنامهنویسی GO متعلق به Google وارد شوید. قدرت GO را کشف کنید، در حالی که به اصول ساخت یک اپلیکیشن بلاکچین از صفر مسلط میشوید و طیف وسیعی از موضوعات حیاتی برای پیادهسازی تکنولوژیهای بلاکچین را پوشش میدهید.
توجه: اگر به دنبال دوره، قالب یا راهنمایی هستید تا با تغییر چند مقدار در یک کد منبع کپیشده، یک ارزهای دیجیتال کامل بسازید، باید از این دوره دوری کنید.
مثال کاربردی در این دوره، ایجاد یک وباپلیکیشن بلاکچین است که امکان انتقال واحدهای یک ارزهای دیجیتال از Wallet یک کاربر به Wallet کاربر دیگر را از طریق یک تراکنش روی زنجیره فراهم میکند. تراکنشها با استفاده از الگوریتم Proof of Work و از طریق Mining تایید شده و در بلاکچینی ذخیره میشوند که پس از رسیدن به اجماع در سراسر شبکه همزمان سازی میشود.
ایدهی پشت مفهوم آموزشی این دوره این است که درک عمیقتر از طریق مهندسی یک مثال تحت راهنمایی حاصل میشود؛ بنابراین تکنیکهای مورد استفاده را از طریق پیادهسازی ملموس یک مدل بلاکچین در حال اجرا خواهید آموخت. این دوره صرفاً مختص توسعهدهندگان نیست، بلکه افرادی با دانش برنامهنویسی نسبتاً پیشرفته که علاقهمند به درک تکنولوژی بلاکچین هستند را نیز هدف قرار میدهد.
پتانسیل GO را آزاد کنید و مهارتهای برنامهنویسی خود را ارتقا دهید، در حالی که شاهد تبدیل یک مفهوم به یک اپلیکیشن بلاکچین کاربردی و پایه هستید که توسط یک Wallet آنلاین قابل دسترسی است. به این سفر پربار بپیوندید و خود را با دانش ساخت اپلیکیشنهای پیچیده، مقیاسپذیر و کارآمد با استفاده از زبان برنامهنویسی GO توانمند سازید.
این دوره در حالی که برای مبتدیان با تجربه برنامهنویسی پایه مناسب است، به گونهای طراحی شده که منبعی برای توسعهدهندگان سطوح پایین تا نسبتاً پیشرفته باشد. دوره مملو از درسهای گامبهگام، توضیحات و شفافسازی مفاهیم مورد نیاز برای پیادهسازی تکنولوژی بلاکچین در یک مدل دنیای واقعی و درک اصول و مفاهیم زیربنایی مورد استفاده در اپلیکیشنهای واقعی بلاکچین است. این دوره همراه با یک مخزن کد در GitHub و یک سرفصل دوره با جزئیات به صورت PDF ارائه میشود که بخشی از دوره محسوب میشوند.
به منظور دستیابی به فشردگی لازم و حفظ تمرکز بر مکانیزمهای اصلی بلاکچین و Wallet، این دوره برنامهنویسی را در عمق لازم نشان میدهد، اما عمداً از موارد زیر صرفنظر میکند:
تستهای واحد / تستهای جدولی
مدیریت گسترده خطاها
پیادهسازی جزئیات بیشتر (به عنوان مثال: ذخیرهسازی پایدار بلاکچین روی دیسک سخت)
پکیجهای خارجی (به عنوان مثال: برای روتینگ، هندلرها، مدلها، سشن ها، قالبها، امنیت، میانافزار)
... و ادعا نمیکند که یک ارزهای دیجیتال کامل را پیادهسازی میکند و یا اینکه در یک محیط تولید بدون نقص عمل میکند.
علاوه بر برنامهنویسی در GO، این دوره به موارد زیر نیز میپردازد:
- مبانی HTML5/CSS/DOM
- jQuery
- کدگذاری و رمزگشایی JSON
علاوه بر پکیجهای بدیهی از کتابخانه استاندارد GO، موارد برجسته عبارتند از:
- crypto/ecdsa
- crypto/elliptic
- crypto/rand
- crypto/sha256
- math/big
این پروژه شامل وابستگیهای خارجی زیر است:
- btcsuite/btcutil/base58
- x/crypto/ripemd160 (منسوخ/آزمایشی، اما مورد نیاز)
هنگامی که در این دوره شرکت میکنید، دسترسی مادامالعمر به دوره خواهید داشت. میتوانید با سرعت خود یاد بگیرید و هر زمان که خواستید برای درک عمیقتر یا یادگیری مفاهیم اضافی، به محتوا بازگردید.
- مدرس بر این باور است که این یکی از فشردهترین دورههای زبان انگلیسی است که با توسعه یک اپلیکیشن بلاکچین پایه از ابتدا، مفاهیم و اصول بلاکچین را به طور جامع توضیح میدهد.
- و اگر به هر دلیلی این دوره برای شما مفید نبود، میتوانید در 14 روز اول بازپرداخت کامل دریافت کنید.
همین حالا در این دوره شرکت کنید!
شما میتوانید ارزش زیادی از این دوره کسب کنید و مهمتر از آن، زمان فوقالعادهای را صرف یادگیری یکی از بهترین زبانهای برنامهنویسی تاریخ خواهید کرد: زبان برنامهنویسی GO، سریعترین زبان در حال رشد با بالاترین درآمد برای برنامهنویسان در ایالات متحده طی سالهای اخیر.
GO یک زبان برنامهنویسی متنباز است که توسعه نرمافزارهای ساده، قابل اعتماد و کارآمد را آسان میسازد.
GO توسط نوابغ علوم کامپیوتر در یکی از بهترین (اگر نگوییم بهترین) شرکتهای توسعه نرمافزار تاریخ، یعنی Google، توسعه یافته است. طراحی و پیادهسازی آن توسط رابرت گریسمر، راب پایک و کن تامپسون انجام شده است.
GO انتخابی بسیار خوب برای یادگیری یک زبان برنامهنویسی است، زیرا توسط همان افرادی توسعه یافته که زبان برنامهنویسی C، یونیکس و UTF-8 را خلق کردند؛ برخی از تاثیرگذارترین مشارکتها در علوم کامپیوتر. رابرت گریسمر، راب پایک و کن تامپسون با GO یک زبان برنامهنویسی مدرن خلق کردند که میتواند به راحتی روی چندین پردازنده به صورت موازی اجرا شود، در محیطهای مختلف به روانی کار کند و نوشتن برنامهها را با سینتکسی بسیار ساده و کاربرپسند برای برنامهنویسان آسان سازد.
چرا گوگل یک زبان برنامهنویسی جدید توسعه داد؟
به گفتهی گوگل: "GO از ناامیدی نسبت به زبانها و محیطهای موجود برای برنامهنویسی سیستمی متولد شد. برنامهنویسی بسیار دشوار شده بود و انتخاب زبانها بخشی از مقصر این ماجرا بود. فرد باید یکی از موارد زیر را انتخاب میکرد:
- کامپایل کارآمد،
- اجرای کارآمد، یا
- سهولت برنامهنویسی؛
هر سه مورد در یک زبان رایج به صورت همزمان در دسترس نبودند. برنامهنویسانی که میتوانستند، با حرکت به سمت زبانهای دارای نوعبندی پویا مانند Python و JavaScript به جای ++C یا تا حد کمتری Java، سهولت را بر ایمنی و کارایی ترجیح میدادند. GO تلاشی است برای ترکیب سهولت برنامهنویسیِ یک زبان مفسری و دارای نوعبندی پویا، با کارایی و ایمنیِ یک زبان کامپایلری و دارای نوعبندی ایستا. همچنین هدف آن مدرن بودن، با پشتیبانی از محاسبات تحت شبکه و چند هستهای است.
در نهایت، کار با GO قرار است سریع باشد: ساخت یک فایل اجرایی بزرگ روی یک کامپیوتر واحد باید حداکثر چند ثانیه طول بکشد. برای رسیدن به این اهداف، نیاز به حل تعدادی از مسائل زبانی بود: یک سیستمِ تایپ رسا اما سبک؛ همزمانی و زبالهروبی؛ مشخصات وابستگی دقیق؛ و غیره. این موارد نمیتوانستند به خوبی توسط کتابخانهها یا ابزارها حل شوند؛ نیاز به یک زبان جدید بود."
همراه با مدرس مزایای برنامهنویسی وب با یکی از بهترین زبانهای برنامهنویسی توسعهیافته تاکنون را بیاموزید. شما دانش، ایدهها، مفاهیم، الهام و نمونه کدهایی را به دست خواهید آورد تا نرمافزارها و اپلیکیشنها را طبق خواسته خود طراحی کنید.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگانی که علاقهمند به یادگیری مبانی برنامهنویسی بلاکچین/ارزهای دیجیتال از ابتدا هستند.
- مدیران پروژه و رهبران تیم که میخواهند بلاکچین و اصول و مفاهیم زیربنایی آن را با عمق لازم درک کنند.
- کارآفرینانی که میخواهند درک عمیقتری از تکنولوژی نسبتاً جدید بلاکچین به دست آورند.
- دانشآموزان و دانشجویانی که میخواهند خود را با مفاهیم و اصطلاحات پیرامون بلاکچین و ارزهای دیجیتال آشنا کنند.
- افراد خودآموزی که نمیخواهند تنها از روی کتابهای درسی یاد بگیرند، بلکه میخواهند فرآیند خلق کردن را نیز تجربه کنند.
- افراد کنجکاوی که میخواهند پس از کسب بینش از دیدگاه توسعهدهنده، موارد استفاده جدیدی از بلاکچین را کشف کنند.
آموزش GO (golang): راهنمای مختصر برنامهنویسی بلاکچین با GO
-
بخش ضروری درباره مدرس - معرفی مدرس 03:03
-
تأثیر بیتکوین، ارزهای دیجیتال و تکنولوژی بلاکچین بر جامعه 02:32
-
نکتهای جانبی در مورد اصطلاح Web3 01:49
-
تأثیرات بلاکچین بر اقتصاد و همچنین بازار منابع انسانی برنامهنویسان 03:37
-
اهداف: اجرای تراکنشها، ماینینگ، کیف پول، تایید تراکنشها 02:44
-
پیشنیازهای این دوره (یک IDE، زبان GO، کامپایل کد و غیره) 02:29
-
بلاکچین چیست و چه تفاوتهایی با یک دیتابیس معمولی دارد؟ 02:26
-
مهمترین مورد استفاده: بلاکچین به عنوان پلتفرمی برای پردازش تراکنشهای پرداخت 01:31
-
سایر موارد استفاده معمول و انواع بلاکچینها 01:54
-
مثالی از انتقال ارزش به عنوان یک تراکنش در شبکه بیتکوین 05:29
-
تعاریف اصطلاحات در حوزه بلاکچین: Value ،Hash ،Timestamp و غیره 02:04
-
برای شروع به چه چیزهایی نیاز دارید (علاوه بر نوشیدنی مورد علاقهتان) 04:44
-
یک Block بسازید! و ساتوشی گفت: «بگذار Block باشد!» 07:46
-
چگونه مقدار Hash یک Block را تولید کنیم 07:42
-
ایجاد یک Struct بلاکچین؛ به بلاکهای خود ساختار بدهید! 12:40
-
افزودن تراکنشها - دادههای Payload در بلاکهای بلاکچین 09:40
-
همیشه چیزی جدید! مفاهیم Proof Of Work، Mining ،Difficulty و Nonce چیستند؟ 04:34
-
Nonce از کجا مشتق میشود؟ ناراحت نشوید، به آرامی بشمارید تا ... 04:34
-
همه چیز درباره Mining در این مدل (و نکتهای جانبی در مورد Minting سکهها/ارزشهای جدید) 10:07
-
تعیین ارزش کل یک آدرس؛ گیرنده دریافت میکند، فرستنده میدهد! 04:36
-
کلید خصوصی، کلید عمومی و الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) 05:51
-
ساخت یک Wallet بسیار ساده؛ یک Wallet کامل برای این مثال بیش از حد زیاد است 12:04
-
چگونه از کلید خصوصی و عمومی به یک آدرس بلاکچین میرسید؟ تماشا کنید! 01:28
-
پیادهسازیِ ایجاد یک آدرس بلاکچین واقعی! 06:49
-
امضاها! اینجا، اینجا و اینجا را امضا کنید. هر تراکنش باید به درستی امضا شود! 09:14
-
تایید تراکنش. ذرهبین خود را بردارید و با دقت ریاضی بررسی کنید! 11:45
-
سرور وب خود را استارت کنید و ببینید GO قدرتنمایی میکند! 13:33
-
Blockchain API - هدف شما اجرای تراکنش روی بلاکچین است 10:34
-
UI Server: ایجاد سروری که رابط کاربری را برای Walletها فراهم میکند 08:34
-
... و حالا یک رابط وب ساده برای Walletها بسازید 05:47
-
jQuery و AJAX وارد میدان میشوند؛ UI و Walletها را با تبادل JSON به هم متصل کنید 09:38
-
رابط کاربری به Wallet: تراکنش ورودی، آماده پردازش شوید! 09:19
-
تفسیر JSON: به Wallet خود یک ترفند جدید یاد بدهید 06:17
-
دادههای رشتهای مربوط به ECDSA را بگیرید و به نوع دادههای مناسب تبدیل کنید 08:44
-
ارسال درخواست تراکنش از سرور Wallet به نود بلاکچین 08:29
-
پیادهسازی یک API در سمت نود بلاکچین برای دریافت درخواستهای تراکنش 12:02
-
ایجاد یک API دیگر، این بار برای پردازش تراکنش. موضوع درباره Mining است 06:27
-
ماینینگ همان پردازش تراکنش است. های-هو، های-هو، ما میرویم سر کار! 07:58
-
بررسی موجودی کل آدرس: ایجاد یک API برای نود بلاکچین 04:41
-
و حالا یک API که به سرور Wallet اجازه میدهد موجودی کل یک آدرس را برگرداند 08:32
-
در نهایت، نمایش موجودی کل ذخیره شده در یک آدرس در رابط کاربری 06:20
-
مرور بخش: رمزگشایی از معمای بلاکچین - تمرکززدایی شفافسازی شد! 05:51
-
بقیه کجا هستند؟ جستجو برای سایر نودهای بلاکچین در اینترنت 15:34
-
عبور از مرزها - محدودیتهای شبکه محلی خود را پشت سر بگذارید! 06:06
-
ثبت خودکار نودهای بلاکچین. شما دیده شدید، حالا در لیست هستید! 09:18
-
اشتراکگذاری یعنی اهمیت دادن - همزمان سازی تراکنشها در بین نودهای شناختهشده 20:59
-
این اجماع که همه دربارهاش صحبت میکنند چیست و چگونه به آن میرسید؟ 03:48
-
اعتماد نکنید، تایید کنید! اجازه دهید نودِ شما ابتدا بلاکچین را تایید کند، سپس بپذیرد 06:18
-
حل تعارضات - طول اهمیت دارد: قانون طولانیترین زنجیره 13:40
-
ایجاد Consensus API: دری را برای بلاکهای جدید منتشر شده از طریق سایر نودها باز کنید 11:10
-
حمله 51% چیست؟ 03:48
-
ماموریت انجام شد یا تادا: یک تراکنش به عنوان نمایش نهایی 08:10
-
سلب مسئولیت: این مبنایی برای یک سیستم Production یا یک Cryptocurrency واقعی نیست! 02:12
-
سخنان خداحافظی: به کدنویسی ادامه دهید، به تمرکززدایی ادامه دهید، فردای خود را بسازید! 02:28
مشخصات آموزش
آموزش GO (golang): راهنمای مختصر برنامهنویسی بلاکچین با GO
- تاریخ به روز رسانی: 1404/12/10
- سطح دوره:متوسط
- تعداد درس:54
- مدت زمان :06:19:51
- حجم :3.37GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy