
برنامه نویسی بلاکچین
۸۵ ساعت
این دوره شما را با دنیای بی مرز فناوری بلاکچین و WEB.3 آشنا میکند و شما میتوانید درک بهتری از این فناوری نوظهور داشته باشید و در صورت علاقه مند شدن بصورت حرفه ای تر وارد مباحث برنامه نویسی، قرارداد هوشمند، رمزارزها، NFTها و… بشوید.
برنامه نویسی بلاکچین
بلاکچین یک دیتابیس است که با افزودن ویژگی تغییر ناپذیری (immutability) به عنوان یک جایگزین امن و دقیق برای متد های کنونی دیتا متمرکز شناخته شده است. مزیت اصلی بلاکچین این است که ذخیره امن داده ها، بدون وجود یک مدیر و صاحب اختیار مرکزی مانند بانک، امکان پذیر خواهد بود. ضمناً کسی قادر نخواهد بود با تخریب اطلاعات ذخیره شده در یک نقطه (مانند سرور بانک مرکزی) داده های ذخیره شده را تحریف یا نابود کند. چرا که در شبکه بلاکچین، بجای ذخیره شدن تمام اطلاعات در یک نقطه (بصورت مرکزی) هر کدام از فول نود های شبکه بلاکچین، یک کپی از تمام اطلاعات را نگهداری میکنند (ذخیره سازی غیر متمرکز اطلاعات). به این ترتیب هیچ سازمانی نمیتواند به اطلاعات شبکه مالی جهانی مالکیت داشته باشد و به خواسته خود قوانین را سلیقه ای تصویب کند.
طول دوره: ۸۵ ساعت – نظری: ۳۰ ساعت – عملی : ۵۵ ساعت
بکارگیری مفاهیم بلاکچین، توکن و کوین
-
- مفاهیم و اصطلاحات بلاکچین
- نحوه کار بلاکچین
- تراکنش ها در بلاکچین
- آموزش بلاک و آموزش آن
- نحوه آشنایی با اقتصاد توکنی مبتنی بر ارز های دیجیتال
- نحوه آموزش توکن
- انواع توکن
- تفاوت کوین و توکن
- نحوه بکارگیری استیبل
- نحوه بکارگیری NFT
- مفاهیم پایه ای بلاکچین
- بکارگیری Explorerها در بلاکچین
- بکارگیری توکن
- بکارگیری کوین
- استفاده از توکن و کوین در بستر شبکه های مختلف ارز دیجیتال
بکارگیری پلتفرم بلاکچین، رمزنگاری و ارزهای دیجیتال
- مفاهیم و اصطلاحات رایج ارزهای دیجیتال
- کاربردهای ارز دیجیتال
- نقاط ضعف و قوت ارزهای دیجیتال
- تاریخچه ارزهای دیجیتال
- توابع یا درهم ساز (توابع یک طرفه)
- کلید خصوصی (Private Key)
- کلید عمومی (Public Key)
- امضاء دیجیتال (Digital Signature)
- ثبت ارزهای دیجیتال و کاربردهای آنها
- نصب و راه اندازی یک کیف پول ارز دیجیتال
- حفظ و نگهداری امن از کلید خصوصی
برنامه نویسی مقدماتی در Solidity
- Constructor در قراردادهای هوشمند
- متغیرها و typeها در سالیدیتی
- سطح دسترسی متغیرها در سالیدیتی
- انواع تابع در سالیدیتی
- سطح دسترسی در سالیدیتی
- نحوه بررسی Mapping در سالیدیتی
- نحوه بررسی Address در سالیدیتی
- نحوه بررسی Modifier و موارد کاربرد آن در سالیدیتی
- نحوه بررسی Struct و Array در سالیدیتی
- نحوه بررسی Enum دیتا تایپ تعریف شده توسط کاربر
- ساختن یک قرارداد هوشمند ساده
- بکارگیری تابع ساده
- بکارگیری تابع پیشرفته
- بکارگیری انواع متغیرها
- بکارگیری Modifier
- بکارگیری Struct
- بکارگیری Enum
برنامه نویسی پیشرفته در Solidity
- تکنیک های افزایش قابلیت کنترل و بازنگری برنامه (Auditability) در سالیدیتی
- ارث بری (Inheritance)
- کاهش خطا توسط چک کردن کد با عبارات REVERT، ASSERT ، REQUIRE
- نحوه کار با توابع transfer و send و call جهت انتقال موجودی به یک اکانت دیگر
- فرایند انتشار Dapp
- نحوه کامپایل کدهای سالیدیتی و انتشار قرارداد هوشمند
- Deploy کردن Dapp توسط Rinkeby Test Ether و io
- مفهوم دیتای خارج از زنجیره (Off-Chain)
- ساختار اوراکل ها در (دیتاسورس/ ساختمان داده های شخص ثالث)
- ساختن یک قرارداد هوشمند فرزند
- نصب و کار با IPFS
- چک کردن خطاهای کد قرارداد هوشمند
- انجام تراکنش از یک قرارداد هوشمند
- اجرای Deploy کردن یک قرارداد هوشمند بروی شبکه تست اتریوم
- پیاده سازی آپلود فایل با استفاده از IPFS
- استفاده از یک Oracle
بکارگیری کتابخانه JavaScript
- نحوه بررسی ماژول های مختلف js و Ether.js
- نحوه بررسی eventها جهت رویدادهای شبکه بلاکچین
- نحوه استفاده از توابع Web 3 until
- ساختن یک Dapp با استفاده از js
- ساختن یک Dapp با استفاده از js
پیاده سازی بستر فروش، واگذاری توکن و NTFها
- انواع و ساخت توکن ساده در سالیدیتی
- استاندارد توکن ERC-20
- نحوه ساخت یک NFT ساده در سالیدیتی
- استاندارد توکن ERC-721 و ERC-1155
- نحوه درج امکان refund هزینه ها در صورت شکست پروژه یا به نتیجه نرسیدن ICO
- اصول توسعه یک مارکت جهت فروش و واگذاری آثار هنری در قالب NFTهای ERC-721 و ERC-1155
- راه اندازی یک پروژه کامل ICO جهت عرضه توکن های ERC-20
- پیاده سازی یک توکن معمولی
- پیاده سازی یک NFT
- پیاده سازی یک ICO
- پیاده سازی Airdrop
- پیاده سازی یک Airdrop
- پیاده سازی یک مارکت خرید و فروش NFT