بوت کمپ جامع برنامه نویسی بلاک چین
بوت کمپ آموزشی برنامه نویسی بلاک چین، قرارداد هوشمند و ساخت Token (توکن) ارز دیجیتال برای شما که قصد ایجاد یک توکن، ارز جدید، قرارداد هوشمند، پلتفرم سرمایه گذاری، سپرده گذاری، وام دهی و سوددهی، بازی های مبتنی بر کسب درآمد از بلاکچین و … را دارید یا قصد دارید به عنوان یک برنامه نویس بلاکچین در یک تیم یا شرکت فعالیت کنید، طراحی شده است.
در این دوره آموزشی، اصول برنامه نویسی و پیاده سازی انواع توکن و NFT، پیاده سازی پلتفرم عرضه اولیه یا ICO، پیاده سازی صرافی غیرمتمرکز (Dex)، ساخت استخر نقدینگی (Liquidity Pool) و برنامه نویسی پلتفرم های defi از جمله سوددهی و وام دهی (Staking & Lending) و ده ها مورد دیگر از پیاده سازی در بستر بلاکچین به شما آموزش داده خواهد شد.
این دوره آموزشی، مطمئنا جامع ترین دوره آموزش بلاکچین و برنامه نویسی توکن و ارز دیجیتال است که برای اولین بار در ایران توسط آکادمی بلاکچین امیرکبیر برگزار می شود.
با آکادمی بلاکچین امیرکبیر آشنا شوید
آکادمی بلاکچین امیرکبیر اولین مرکز برگزار کننده جامعترین بوتکمپ برنامهنویسی بلاک چین در ایران است که تا کنون بیش از 1000 دانشجو در این آکادمی، برنامه نویسی بلاک چین را آموزش دیده اند. آکادمی امیرکبیر از سال 1394 به همکاری جمعی از اساتید و متخصصین حوزه مهندسی نرم افزار، فعالیت خود را روی فناوری های Hi-Tech آغاز نمود و با افزایش نیاز به فناوری بلاکچین در صنعت، با تکیه بر دانش و توانمندی تیم تحقیق و توسعه، فعالیت خود را روی حوزه بلاکچین متمرکز ساخته و نهایتا از ابتدای سال 1400 در کنار فعالیت در زمینه مشاوره و توسعه پروژه های بلاکچین، سیستم آموزش تخصصی بلاکچین را نیز در قالب بوت کمپ های برنامه نویسی بلاکچین در ایران آغاز کردند.
شما نیز می توانید برای تضمین آینده کاری خودتان به این جمع بپیوندید!
لیست بوتکمپهای برگزار شده
1- اولین بوتکمپ برنامهنویسی بلاکچین تابستان 1400 شروع : 1400/06/04 24 ساعت 14 نفر
2- دومین بوتکمپ برنامهنویسی بلاکچین پاییز 1400 شروع : 1400/07/01 30 ساعت 27 نفر
3- سومین بوتکمپ برنامهنویسی بلاکچین پاییز 1400 شروع : 1400/08/13 42 ساعت 54 نفر
4- چهارمین بوتکمپ برنامهنویسی بلاکچین زمستان 1400 شروع : 1400/10/04 42 ساعت 33 نفر
5- پنجمین بوتکمپ برنامهنویسی بلاکچین زمستان 1400 شروع : 1400/11/11 42 ساعت 28 نفر
6- ششمین بوتکمپ برنامهنویسی بلاکچین بهار 1401 شروع : 1401/01/04 40 ساعت 28 نفر
7- هفتمین بوتکمپ برنامهنویسی بلاکچین بهار 1401 شروع : 1401/02/05 42 ساعت 15 نفر
8- هشتمین بوتکمپ برنامهنویسی بلاکچین تابستان 1401 شروع : 1401/04/09 42 ساعت 15 نفر
9- نهمین بوتکمپ برنامهنویسی بلاکچین تابستان 1401 شروع : 1401/05/13 42 ساعت ۱۰ نفر
10- دهمین بوتکمپ برنامهنویسی بلاکچین زمستان 1401 شروع : 1401/12/12 42 ساعت 10 نفر
مشخصات پکیج ویدئویی
بوت کمپ برنامهنویسی بلاکچین، پس از 10 سری برگزاری آنلاین در سال های گذشته، هم اکنون به شکل پکیج ویدئویی بسیار جامع در اختیار علاقمندان قرار گرفته است.
مشخصات پکیج ویدئویی:
❇️ 100 ساعت ویدئوی آموزشی
❇️ 1 سال پشتیبانی (پرسش و پاسخ + رفع اشکال + دسترسی به بروزرسانی و آپدیت ها).
❇️ این پکیج جامعترین منبع آموزش برنامهنویسی بلاکچین بوده و هیچ پیشنیازی ندارد (0 تا 100 مطالب در بوتکمپ تدریس شده است).
❇️ ارزش واقعی این بوتکمپ حداقل 1,000 $ تخمین زده شده است که فعلاً جهت مساعدت با هم وطنان گرامی در شرایط کنونی، با مبلغ بسیار مناسب قابل تهیه می باشد.
❇️ بعد از این دوره آموزشی، حداقل درآمدی که می توانید کسب کنید، توسعه یک توکن کامل است که ارزش آن حدود 1,000 $ می باشد.
چرا یادگیری بلاک چین اهمیت دارد؟
❇️ اکوسیستم مالی در حال تغییر است
🔘 بسیاری از فعالیت های اقتصادی که در گذشته به کمک پول فیات انجام می شد، امروزه به کمک توکن ها و ارزهای دیجیتال در بستر بلاک چین انجام پذیر است. جایگزینی پول فیات با توکن، به کمک فناوری بلاکچین امکانپذیر شده و مزایای بسیاری را با خود به همراه آورده است.
🔘 در چند سال آینده با توسعه و تطبیق پذیری بیشتر فناوری بلاک چین، مآموریت اصلی بلاکچین یعنی معاملات p2p، عملیاتی شده و اغلب واسطه ها حذف خواهند شد و مشاغل و موسسات و اشخاص ثالتی مانند دفاتر بیمه، شعب بانکی، دفاتر ثبتی و … از میان خواهند رفت!
🔘 آیا به این موضوع فکر کرده اید که با از بین رفتن این مشاغل چه شغلی جایگزین خواهد شد؟ بله درسته! برنامه نویس بلاک چین و قراردادهای هوشمند.
🔘 به زودی نیاز به برنامه نویس بلاک چین بسیار بیشتر خواهد یافت و شما که در سال های ابتدایی وارد این تخصص می شوید، جزء افراد با تجربه و خبره محسوب خواهید شد و خیلی زودتر از یک برنامه نویس عادی، فعالیت در رده مدیریتی را تجربه خواهید کرد.
🔘 با کمی تأمل به دلایل ذکر شده، یادگیری بلاکچین برای تمام برنامه نویس ها، ضروری به نظر می رسد.
❇️ بلاکچین در زندگی امروزی کاربرد دارد
🔘 امروزه بنیانگذاران یک استارتاپ می توانند به کمک تکنولوژی توکن و راه اندازی یک ICO (از روش های جذب سرمایه جمعی یا Crowdfunding در بستر بلاک چین) سرمایه مورد نیاز پروژه را از افراد متقاضی جمع آوری نموده و در قبال مبلغ دریافتی به سهامداران خود توکن بدهند. سپس درصورت موفقیت در جذب سرمایه مورد نیاز و موفقیت در توسعه پروژه، این شانس را خواهد داشت که به پشتوانه هولدرها و سرمایه جمع آوری شده، توکن خود را به صورت یک ارز دیجیتال جدید (Coin) به بازار معرفی نماید. در اینصورت ارز مورد نظر در صرافی های معتبر قابل خرید و فروش خواهد بود. در صورت طراحی و مدیریت صحیح توکنومیک (اقتصاد توکن)، هر دو طرف (تیم پروژه و سرمایه گذاران) از سود این سرمایه گذاری بهره مند خواهند شد.
🔘 همچنین در حوزه خرید و فروش دارایی ها، شما می توانید از بلاکچین کمک بگیرید. به اینصورت که با ساخت NFT، دارایی هایی مانند آثار هنری، ملک یا سایر دارایی ها را در بازارهای خرید و فروش NFT به فروش برسانید و همزمان با حفظ ارزش دارایی خود، از خطرات بالقوه معاملات در سیستم سنتی اجتناب کرده و ریسک معاملات خود را پایین بیاورید.
بازار کار و درآمد برنامه نویس بلاک چین
🔘 بازار کار بلاکچین و تقاضا برای برنامه نویس بلاک چین در سال های اخیر با سرعت باورنکردنی در حال رشد بوده و نیاز به برنامه نویس بلاکچین بسیار بیشتر از تعداد برنامه نویسان فعال در بازار است. این به معنای فرصتی بی نظیر برای کسانی است که قصد دارند وارد حوزه برنامه نویسی بلاک چین شوند.
🔘 با توجه به نیاز بالای کشورهای دیگر به برنامه نویس بلاکچین، شما علاوه بر بازارکار داخل کشور، امکان فعالیت برون مرزی و کسب درآمد دلاری خواهید داشت.
🔘 در حال حاضر، حداقل درآمد یک برنامه نویس بلاک چین با یک نمونه کار انجام شده، از حداکثر درآمد یک برنامه نویس فول استک با حدود 6 سال سابقه کار بیشتر است.
🔘 همچنین در کشورهای اروپایی (از جمله آلمان) متوسط درآمد ماهانه یک برنامه نویس Senior وب حدوداً 5 هزار یورو است در حالی که درآمد برنامه نویس بلاک چین از 6 هزار یورو شروع می شود.
🔘 ضمناً در نظر داشته باشید که شرکت ها و تیم های بزرگتر در صنعت بلاکچین، درآمدهای بالاتری به برنامه نویسان خود پیشنهاد می دهند. برای مثال صرافی یونی سواپ (Uniswap) در آخرین آگهی کاری که داشت، برای برنامه نویس ارشد سالیدیتی، حقوق 240 هزار دلار سالانه را در نظر گرفته بود. یعنی درآمد 20 هزار دلار ماهانه !
مزایای بوت کمپ برنامه نویسی بلاک چین آکادمی امیرکبیر
🔘 شما جزء معدود نفرات کشور خواهید بود که برنامه نویسی فول استک بلاک چین را به صورت 0 تا 100 آموزش دیده اید.
🔘 به راحتی قادر به ایده پردازی و راه اندازی استارتاپ در زمینه بلاک چین خواهید بود.
🔘 اگر استارتاپ یا ایده ای در این زمینه داشتید، می توانید خودتان برنامه نویسی بلاک چین را انجام دهید.
🔘 از آنجا که در شرایط کنونی، نیاز بازار کار به برنامه نویس بلاک چین، بسیار بیشتر از استعدادهای موجود آن است، شما به راحتی قادر به مذاکره و دریافت حقوق و مزایای شغلی مناسب خواهید بود.
🔘 همکاری یا شرایط کاری منعطف با امکان دورکاری و همکاری پروژه ای برای شما فراهم خواهد بود.
🔘 بلاک چین هنوز یک فناوری نوظهور است و با ارائه ایده های جدید شما هم می توانید در پیشبرد این پروژه تأثیر گذار باشید. وجه تمایز و برتری افراد در این حوزه، داشتن تجربه عملی است و این دقیقاً همان چیزی است که شما در این دوره کسب خواهید کرد.
پیش نیاز دوره
این دوره هیچ پیش نیازی ندارد!
پکیج آموزش برنامه نویسی بلاک چین علوم نوین امیرکبیر، همه تخصص های مورد نیاز یک برنامه نویس بلاکچین را به صورت 0 تا 100 پوشش داده است. حتی یک نوآموز بدون هیچ گونه پیش زمینه برنامه نویسی نیز می تواند از این پکیج برای آموزش برنامه نویسی قراردادهای هوشمند (Smart Contract) و توسعه اپلیکیشن های غیرمتمرکز تحت بلاک چین (DApp) استفاده کند.
پروژه ها و مباحث پیچیده به صورتی طراحی شده که ابتدا از پروژه های ساده تر شروع شده و به مرور با سخت تر شدن مباحث، پیش نیازهای علمی و فنی آن مباحث نیز تدریس شده است.
در ماژول مبانی برنامه نویسی با فرض اینکه دانشجو هیچ پیش زمینه برنامه نویسی نداشته، از مقدمات اصول تولید نرم افزار، طراحی الگوریتم و فلوچارت شروع شده و چند مسئله ساده همراه با طراحی الگوریتم، فلوچارت و کدنویسی به زبان C آموزش داده شده تا دانشجو بتواند با تمرینات ساده، کدنویسی را شروع کند.
در ماژول مبانی بلاک چین اصول و مفاهیم بلاکچین و پلتفرم اتریوم در حد نیاز یک برنامه نویس بلاکچین تدریس شده است.
همچنین در ماژول مبانی برنامه نویسی وب با با آموزش CSS-HTML و Javascript مقدمات برنامه نویسی وب آموزش داده شده تا به عنوان یک برنامه نویس بلاکچین فول استک (اسمارت کانترکت + فرانت اند) بتوانید DApp ها را به طور کامل توسعه دهید.
اهداف کلی دوره
🔘 مفاهیم بلاکچین
- آشنایی با پلتفرم بلاک چین (Blockchain)
- آشنایی با پلتفرم اتریوم (Ethereum) و ماشین مجازی اتریوم (EVM)
🔘 مبانی برنامه نویسی
- تفکر الگوریتمی
- طراحی الگوریتم برای یک مسئله
- تبدیل الگوریتم به سورس کد
- اصطلاحات مهم کدنویسی
- ساختارهای برنامه نویسی
- برنامهنویسی ماژولار
- مفاهیم کلاس و شی گرایی
- کدنویسی به زبان C
- CSS, HTML
- آشنایی با زبان JavaScript
🔘 برنامه نویسی قرارداد هوشمند با سالیدیتی
- توسعه قرارداد هوشمند در IDE آنلاین Remix
- برنامه نویسی قراردادهای هوشمند (Smart Contract) به زبان سالیدیتی (Solidity)
- توسعه قراردادهای هوشمند استاندارد با کتابخانه OpenZeppelin
- ارتباط قرارداد هوشمند با دیتاسورس های خارج زنجیره به کمک اوراکل (Oracle) با استفاده از ChainLink
- مباحت پیشرفته سالیدیتی (Payments, MultiSigWallet, TimeLock, Gas Optimization,…)
- پراکسی اسمارت کانترکت (Proxy/Upgradable)
- فریمورک های توسعه قرارداد هوشمند Truffle, Hardhat
- تست نویسی و دیباگ سالیدیتی
- بهینه سازی مصرف گس (Gas Optimization)
🔘 توسعه اپلیکیشن های غیرمتمرکز (DApp)
- ابزارهای توسعه اپلیکیشن غیر متمرکز: Metamask, Ganache
- ارتباط بین واسط کاربری DApp و قرارداد هوشمند با کتابخانه Web3.js
- وصل کردن کیف پول (Wallet Connect)
🔘 اقتصاد غیرمتمرکز (DeFi)
- آشنای با اقتصاد توکنی یا توکنومیک (Tokenomic) و توکنایزیشن (Tokenization)
- آشنایی با توکن های ارز دیجیتال (Crypto Tokens)
- توسعه توکن با کتابخانه OpenZeppelin
- پیاده سازی توکن های اتریوم (Ethereum Tokens) با استاندارد ERC-20 به زبان سالیدیتی
- پیاده سازی بستر عرضه توکن های ERC20 (عرضه اولیه ICO یا ایردراپ Airdrop)
- آشنایی با پلتفرم های صرافی غیرمتمرکز
- لیست کردن توکن در صرافی غیرمتمرکز
- آشنایی و پیاده سازی نحوه تعیین قیمت توکن های ERC-20 و نحوه محاسبه نرخ تبادل در صرافی غیرمتمرکز (فرمول عرضه و تقاضا)
- آشنایی و پیاده سازی استخر نقدینگی (Liquidity Pool) و تبادل توکن (Token Swaps)
- پیاده سازی سیستم سپرده گذاری، سوددهی ارز دیجیتال (Staking)
🔘 توکن های تعویض ناپذیر (NFT)
- آشنایی با NFT ها (توکن های غیر قابل ترید)
- کاربرد NFT در حوزه های مختلف اعم از آثار هنری، موسیقی، ویدئو و سایر هنرهای دیجیتال، مد، لایسنس و گواهی، گیمینگ، ورزش، کلکسیون
- پیاده سازی NFT با استاندارد ERC-721 به زبان سالیدیتی
- ذخیره سازی متادیتا (Metadata) و دیتای Off-chain روی دیتا استوریج توزیع شده IPFS
- پیاده سازی بستر فروش/واگذاری NFT ها (فروش به نرخ ثابت یا به صورت مزایده/حراج در NFT Marketplace)
🔘 نمونه پروژه های کامل (FullStack DApp)
برای درک عمیق مطلب دوره، چندین اپلیکیشن غیرمتمرکز (DApp) به صورت پروژه کامل پیاده سازی شده تا مطالب آموخته شده به چالش کشیده شود. در اپلیکیشن های طراحی شده از قرارداد هوشمند (اسمارت کانترکت) و توکن استفاده شده و بخش FrontEnd پروژه ها طراحی و پیاده سازی شده تا دانشجویان گرامی پس از سپری کردن این بوت کمپ، به راحتی قادر به پیاده سازی پروژه های بلاکچین باشند.
دموی رایگان از محتوای دوره
دموهای رایگان بوت کمپ برنامه نویسی بلاک چین از جمله مبحث مبانی بلاکچین و قرارداد هوشمند و همچنین آموزش Solidity در این قسمت قابل مشاهده می باشد. همچنین در صورت انتشار دموی جدید از این دوره، ویدئوها در همین قسمت درج خواهد شد
چگونه باید برنامه نویس شویم؟
ساختمان داده ها و ساختارهای کدنویسی
مفاهیم بلاکچین
مفاهیم اتریوم و قرارداد هوشمند
زبان سالیدیتی
کدنویسی و دپلوی کانترکت در بایننس اسمارت چین
ساخت کانترکت NFT با استاندارد ERC721
آشنایی با رویالتی و استاندارد ERC2981
آشنایی با متادیتا (Metadata) در توکن های NFT
دموی پروژه ساخت مارکت پلیس NFT
مخاطبین دوره
بوت کمپ برنامه نویسی بلاک چین به صورتی طراحی شده است که برای همه افراد اعم از برنامه نویسان، معماران سیستم، معماران شبکه، معماران امنیت شبکه و متخصصین IT قابل استفاده خواهد بود:
اگر قصد دارید به عنوان یک برنامه نویس بلاک چین (Blockchain developer) ، مهندس بلاک چین (Blockchain engineer) یا توسعه دهنده توکن و NFT وارد یک شرکت یا استارتاپ توسعه اپلیکیشن های مبتنی بر بلاکچین شوید، این دوره آموزش کامل بلاک چین برای شما مناسب خواهد بود.
اگر علاقمند به کار در فضای بلاک چین، قراردادهای هوشمند و ارزهای دیجیتال و یا اقتصاد غیرمتمرکز (DeFi) و ارزهای دیجیتال هستید، این دوره به شما تجربه عملی ساخت یک توکن و ارز دیجیتال، صرافی غیرمتمرکز، ICO، Staking و همچنین فرصت تسلط بر مهارت های برنامه نویسی بلاک چین، توسعه DApp و قراردادهای هوشمند را که در صنایع، استارتاپ ها و شرکت های مختلف بسیار مورد نیاز است، ارائه می دهد.
ضمناً شرکت ها و ارگان های خصوصی و دولتی که نیاز به آموزش سازمانی این دوره برای کارکنان محترم دارند، می توانند با ما تماس حاصل نموده و در رابطه با شرایط مناسب و تخفیف های ما برای ثبت نام های گروهی یا آموزش اختصاصی برای سازمان ها ، اطلاعات لازم را کسب نمایند.
آزمون و مدرک مرتبط با دوره
پس از سپری کردن این دوره آموزشی، شما گواهی شرکت در دوره را از سمت مرکز آموزش علوم نوین امیرکبیر دریافت خواهید کرد:
بلاک چین چیست؟
بلاک چین، دیتابیس اشتراکی است که با افزودن ویژگی تغییرناپذیری (immutability) به عنوان یک جایگزین امن و دقیق برای متدهای ذخیره سازی کنونی دیتا (متمرکز) شناخته شده است.
مزیت اصلی بلاک چین این است که ذخیره امن دادهها، بدون وجود یک مدیر و صاحب اختیار مرکزی مانند بانک، امکانپذیر خواهد بود. ضمناً کسی قادر نخواهد بود با تخریب اطلاعات ذخیره شده در یک نقطه (مانند سرور بانک مرکزی) دادههای ذخیرهشده را تحریف یا نابود کند. چراکه در شبکه بلاکچین، به جای ذخیره شدن تمام اطلاعات در یک نقطه (به صورت مرکزی) هر کدام از نودهای شبکه بلاک چین، یک کپی از تمام اطلاعات را نگهداری میکنند (ذخیره سازی غیر متمرکز اطلاعات). به این ترتیب هیچ سازمانی نمی تواند به اطلاعات شبکه مالی جهان مالکیت داشته باشد و به خواسته خود قوانین سلیقه ای تصویب کند!
قبل از بلاک چین برای عملیات ساده ای مانند انتقال پول الکترونیکی، ما به یک موسسه انسانی قابل اطمینان مثل یک بانک نیاز داشتیم تا به عنوان واسطه در این میان عمل کند. با حضور بلاک چین به عنوان یک جایگزین قانونی برای موسسات شخص ثالث، ما میتوانیم عملیاتی مثل نقل و انتقال وجه را بدون نیاز به پرداخت درصدی از مبلغ به یک شخص ثالث مثل بانک، به انجام برسانیم.
توکن چیست؟
توکن یک رمز ارز مجازی است که به عنوان یک دارایی قابل معامله است. فرق توکن با کوین در این است که یک توکن می تواند روی هر بلاکچینی قرار بگیرد ولی کوین، بلاک چین مخصوص خودش را دارد. توکن به دارنده خود اجازه می دهد از آن برای اهداف سرمایه گذاری یا اقتصادی استفاده کند. توکن ها معمولاً از طریق فرایند عرضه اولیه سکه (ICO) ایجاد و توزیع شده و به فروش می رسند، که شامل سرمایه گذاری جمعی (crowdfunding) برای تأمین بودجه توسعه پروژه می شود.
سرفصل بوت کمپ بلاک چین علوم نوین امیرکبیر
هدف ما از برگزاری بوت کمپ آموزش برنامه نویسی بلاکچین این است که نیازهای امروزی برای یادگیری برنامه نویسی قراردادهای هوشمند، DApp ها و توکن های ارز دیجیتال را پوشش بدهیم. در این بوت کمپ آموزشی که کاملاً متفاوت و منطبق با نیازهای بازار کار داخل و خارج از کشور طراحی شده است ما اغلب مباحث به روز دنیا را به طور عملی و در پروژه های واقعی آموزش داده ایم و سعی کرده ایم در کمترین زمان ممکن، شما را برای ورود به بازار کار حرفه ای برنامه نویسی اسمارت کانترکت ها، DApp ها و برنامه نویسی توکن های ارز دیجیتال در بستر بلاکچین آماده کنیم.
لیست ماژولهای بوت کمپ
1 : اصول و مبانی برنامه نویسی (Programming Basics) ▶️ 12 ساعت ویدئو
2 : مفاهیم بلاکچین (Ethereum, EVM) ▶️ 3 ساعت ویدئو
3 : برنامه نویسی قرارداد هوشمند به زبان سالیدیتی (Solidity) ▶️ 30 ساعت ویدئو
4 : مبانی برنامه نویسی وب (Web Programming) ▶️ 12 ساعت ویدئو
5 : توسعه اپلیکیشن های غیر متمرکز (DApp) ▶️ 8 ساعت ویدئو
6 : پیاده سازی سیستم های مالی غیرمتمرکز (DeFi) ▶️ 13 ساعت ویدئو
7 : برنامه نویسی سیستم های مبتنی بر توکن های تعویض ناپذیر (NFT) ▶️ 22 ساعت ویدئو
Module 1 : اصول و مبانی برنامه نویسی (Programming Basics)
اصول و مبانی برنامه نویسی برای شما که به تازگی با برنامه نویسی آشنا شده اید، طراحی شده است. اگر قصد دارید کدنویسی را به شیوه صحیح و اصولی یاد بگیرید در این دوره آموزش، با ما همراه شوید.
در این دوره، تفکر الگوریتمی یعنی نحوه تبدیل یک مسئله به الگوریتم و سپس تبدیل الگوریتم به سورس کد را آموزش خواهید دید. با اصطلاحات مهم کدنویسی اعم از متغیرها و ساختمان های داده آشنا می شوید و بدون توجه به زبان برنامهنویسی خاصی، مهارت های کد زدن را آموزش خواهید دید.
- آشنایی با ورودی -خروجی و ساختار سخت افزاری سیستم های کامپیوتری
- آشنایی با سیستم عامل و ساختار نرم افزاری سیستم های کامپیوتری
- جریان اطلاعات و سیستم محاسبات کامپیوترها
- فرآیند تبدیل یک مسئله دنیای بیرونی به یک نرم افزار (سورس کد) توسط مهارت برنامه نویسی
- آشنایی با نقش کامپایلر در تبدیل سورس کد به فایل اجرایی
- تفکر الگوریتمی و تبدیل مسائل به الگوریتم
- تبدیل الگوریتم به فلوچارت
- تبدیل فلوچارت/الگوریتم به سورس کد
- آشنایی با حافظه کامپیوتر، متغیرها و انواع داده
- آشنایی با ساختارهای برنامه نویسی: تکرار، شرط و کنترل اجرای برنامه
- آشنایی با برنامهنویسی ماژولار
- مفاهیم کلاس و شی گرایی
Module 2 : مفاهیم بلاک چین (Ethereum)
در این ماژول از بوت کمپ بلاکچین، با مفاهیم و تعاریف مرتبط با وب3 و بلاکچین آشنا خواهید شد. همچنین با اصول کار بلاکچین اتریوم، EVM و Node ، قراردادهای هوشمند و DApp آشنا می شوید. برای درک بهتر مفاهیم بلاک چین، سعی شده تا از ابزارهای موجود برای یادگیری مفاهیم در محیط عملیاتی استفاده شود. در این بخش از دوره، بلاک های واقعی را در Block Explorer تشریح می کنیم تا تعاریف و تئوری فرا گرفته شده به طور عملی نیز لمس شود.
1- آشنایی با نسل سوم وب (Web3)
در این بخش از دوره، نوآوری های وب نسل سوم (Web3) و روند تکامل بلاکچین جهت دستیابی به مزایای Web3 را بررسی خواهیم کرد.
- ویژگی های وب نسل 3
- تفاوت web3 با web2
- تفاوت Centralized ، Decentralized ، Distributed
2- مفاهیم رمزنگاری (Cryptography)
در این بخش، به صورت کوتاه مروری خواهیم داشت بر مفاهیم رمزنگاری که به عنوان علم پایه ارزهای دیجیتال محسوب می شود.
- توابع هش یا درهم ساز (توابع یک طرفه)
- توابع رمزنگاری (توابع دوطرفه)
- کلید خصوصی (Private Key)
- کلید عمومی (Public Key)
- امضاء دیجیتال (Digital Signature)
3- مفاهیم بلاکچین (Blockchain)
در این بخش از دوره، ابتدا تعاریف، اصطلاحات و اصول مربوط به ارزهای دیجیتال ارائه خواهد شد. سپس نحوه عملکرد دیتا-مدل بلاکچین را به خوبی درک خواهید کرد. همچنین طی این ماژول از دوره برنامه نویسی بلاکچین، با چگونگی ذخیره دیتا در بلاک، اعتبارسنجی بلاک، افزودن بلاک های جدید به زنجیره، متدهای اعتبارسنجی (validate) و جامعیت (integrity) زنجیره، چگونگی ارسال بلاک های جدید به بلاکچین آشنا خواهید شد.
- مفاهیم و اصطلاحات رایج ارزهای دیجیتال
- کاربردهای ارز دیجیتال
- آشنایی با ارز دیجیتال بیت کوین (Bitcoin)
- بلاکچین چیست؟
- تفاوت بین بلاکچین خصوصی (Private Blockchains) و بلاکچین عمومی (Public Blockchains)
- درک موضوع حریم خصوصی در بلاکچین های عمومی
- مزیت بلاک چین خصوصی
- اجزای سازنده بلاکچین
- فرق بین بلاکچین و دیتابیس چیست؟
- مزایا و معایب بلاکچین
- بلاکچین چگونه کار میکند؟
- تراکنش ها در بلاکچین
- بلاک چیست؟
- چگونه بلاک ها تشکیل زنجیره داده و بلاکچین را تشکیل می دهند؟
- ردیابی بلاک ها از طریق Block-Explorer
- تفاوت بین Remote Node و Local Node
- آشنایی با تراکنش (Transactions)
- فرایند اجماع (Consensus)
- تست نت های اتریوم و بایننس اسمارت چین (BSC)
- اکانت بلاکچین
- کیف پول بلاکچین
- نصب و پیکربندی کیف پول MetaMask
4- آشنایی با پلتفرم اتریوم (Ethereum) و معماری EVM
اگر نسل اول بلاکچین را بیتکوین در نظر بگیریم، نسل دوم آن اتریوم خواهد بود. در این بخش به معرفی اتریوم و EVM و سایر موضوعات مهم اتریوم خواهیم پرداخت. یکی از مهمترین قابلیت های اتریوم، امکان برنامه نویسی روی نودهای شبکه اتریوم است که از طریق قراردادهای هوشمند (Smart Contrats) انجام می شود. در این ماژول، با ویژگی ها و ساختار قراردادهای هوشمند (قابلیت ویژه اتریوم) آشنا خواهید شد.
- آشنایی یا ساختار اتریوم
- مزایای اتریوم
- تفاوت اتریوم با بیتکوین
- آشنایی با EVM (ماشین مجازی اتریوم) و اینترفیس ABI
- تفاوت Call با Transaction
- تعریف و کاربرد رویداد (Event)
- انواع اکانت در اتریوم
- قرارداد هوشمند چیست؟
- از قراردادهای هوشمند چگونه استفاده می شود؟
- مزایا و معایب قراردادهای هوشمند
- درک جریان کاری از نحوه عملکرد قرارداد هوشمند در اتریوم
5- آشنایی با اپلیکیشن های غیر متمرکز (DApp)
- تفاوت DApp با اپلیکیشن های عادی
- لایه های یک اپلیکیشن DApp
- مزایای DApp
- نحوه ارتباط و تعامل واسط گرافیکی Dapp با اسمارت کانترکت (Web3.js)
Module 3 : برنامه نویسی قرارداد هوشمند به زبان سالیدیتی (Solidity)
در این ماژول، اصول برنامه نویسی قراردادهای هوشمند به زبان سالیدیتی آموزش داده شده است. برای این منظور ابتدا شما را با قراردادنویسی آشنا کرده و سپس با محیط Remix برای پیاده سازی قرارداد هوشمند آشنا خواهیم کرد. پس از یادگیری نحوه نوشتن، کامپایل و Deply قرارداد هوشمند، به آموزش سالیدیتی و یادگیری اصول برنامه نویسی به زبان Solidity خواهیم پرداخت. برای تکمیل یادگیری و تثبیت سالیدیتی، قراردادهای هوشمند متعددی در این بخش از دوره پیاده سازی خواهد شد.
1- قواعد کدنویسی به زبان Solidity
- محیط برنامه نویسی آنلاین Remix برای توسعه قرارداد هوشمند
- کامپایل کدهای سالیدیتی و بدست آوردن آرتیفکت قرارداد هوشمند (ABI , Address , ByteCode)
- دپلوی قرارداد هوشمند روی شبکه بایننس اسمارت چین (BSC)
- ساختار یک فایل سالیدیتی
- ساختار یک قرارداد هوشمند
- Constructor اسمارت کانترکت ها
- Destructor و از بین بردن قرارداد هوشمند با دستور selfdestruct
- متغیرها و typeها در سالیدیتی
- سطح دسترسی متغیرها در سالیدیتی
- تبدیل نوع در سالیدیتی
- انواع تابع در سالیدیتی
- سطح دسترسی توابع در سالیدیتی
- Address ها در سالیدیتی
- آشنایی و کار با Balance اکانت ها و موجودی قرارداد هوشمند
- کار با توابع transfer و send و call جهت پرداخت به یک اکانت دیگر
- کاهش و مدیریت خطا توسط Require, Assert, Revert
- Modifier ها و موارد کاربرد آن در سالیدیتی
- Struct و آرایه در سالیدیتی
- Mapping در سالیدیتی
- Enum / دیتا تایپ تعریف شده توسط کاربر
- کار با آرایه ها در سالیدیتی (push-pop-length-delete)
- ساختارهای شرطی و کنترلی (if-else)
- ساختارهای کنترلی و مدیریت حلقه (for-while-break-continue)
- GlobalVariable ها (دسترسی به اطلاعات بلاک، گس، حافظه کانترکت، اطلاعات تراکنش ها، timestamp و …)
- تولید اعداد تصادفی در سالیدیتی
- شی گرایی در سالیدیتی (Opject Oriented Programming)
- ارث بری در سالیدیتی (Inheritance)
- توابع Virtual
- بازنویسی یا Override کردن فانشکن ها
- اینترفیس (Interface) در سالیدیتی
- استفاده از کتابخانه (Library)
- import کردن کتابخانه ها و قراردادهای هوشمند دیگر در یک قرارداد سالیدیتی
2- برنامه نویسی پیشرفته در Solidity (🌟جدید)
- فراخوانی توابع یک اسمارت کانترکت دیگر (External Call)
- call
- staticcall
- delegatecall
- مدیریت پرداخت های اتر به یک قرارداد هوشمند
- receive و fallback
- ساخت calldata برای کال کردن فانکشن ها (Function Selectors , abi.encode)
- استفاده از TimeLock برای لاک کردن توکن در یک کانترکت
- ولت های چند امضا (MultiSig Wallet ) و کاربرد آن در DAO و رأی گیری از اعضای سازمان
- ایجاد و دپلوی اسمارت کانترکت و ولت کانترکت (Factory)
- verify کردن تراکنش های Sign شده (ecrecover)
- ویرایش (آپگرید) اسمارت کانترکت به کمک پراکسی (Proxy)
- آشنایی با مفهوم دیتای خارج از زنجیره (Off-Chain)
- آشنایی با اوراکل ها (دیتاسورس/ساختمان داده های شخص ثالث)
- مدیریت دیتای خارج از زنجیره با استفاده از Oracle های ChainLink
- ChainLink DataFeeds
- VRF (Verifiable Random Function)
- مفهوم Gas و اهمیت مدیریت گس در قرارداد هوشمند
- مصرف گس دستورات رایج evm
- اشتباهات رایج در کدنویسی (مصرف گس بالا)
- بهینه سازی قرارداد هوشمند جهت کاهش هزینه گس (Gas Optimization)
- تکنیک Pack کردن متغیرها و سایر تکنیک های کاهش گس …
3- تست نویسی، دیباگ و دپلوی اسمارت کانترکت (🌟جدید)
- تست نویسی با جاوا اسکریپت (Mocha و Chai)
- چک کردن صحت شرط ها با assert
- نصب و آشنایی با فریم ورک های Truffle, Hardhat, Foundry
- تست نویسی/نوشتن یونیت تست (Unit-Test) قراردادهای هوشمند سالیدیتی به کمک ابزارهای مربوطه
- دپلوی کانترکت در شبکه بلاکچین توسط ترافل و هاردهت
- آشنایی با Truffle Dashboard برای دپلوی امن اسمارت کانترکت
- HD-Wallet Provider و تنظیمات استفاده از node های infura یا Alchemy برای دپلوی کانترکت
- دیباگ کردن تراکنش ها در ریمیکس (Remix Debugger)
- دیباگر ترافل (Truffle Debugger)
- دیباگ در Hardhat
قراردادهای هوشمند نوشته شده
- بیش از 30 قرارداد هوشمند جهت آموزش مفاهیم اصلی سالیدیتی تدریس شده است…
- علاوه بر کانترکت های بالا، در این ماژول، چند اسمارت کانترکت کاربردی به طور کامل پیاده سازی شده است:
- رای گیری (Voting)
- تور گردشی
- سیستم مزایده (Auction)
- ولت چند امضاء (MultiSigWallet)
- TimeLocked Wallet
- و …
- در ادامه دوره نیز در هر ماژول، یک یا چند DApp پیاده سازی شده که هر DApp دارای یک یا چند قرارداد هوشمند می باشد.
تمرینات – پاسخ کامل تمرینات ارائه خواهد شد
- کامپایل قرارداد هوشمند و بدست آوردن ABI و Address کانترکت
- قرارداد هوشمند با توابع انجام عملیات ریاضی
- قرارداد هوشمند تبدیل timestamp به datetime رایج به کمک کتابخانه DateTime سالیدیتی
- پیاده سازی قابلیت StateTransition به کمک enum برای مدیریت وضعیت ها و مراحل کاری مختلف یک اسمارت کانترکت
- استفاده از توابع پرداخت مختلف در کانترکت تور گردشی
- توسعه و کامپایل سالیدیتی توسط Local RemixIDE روی سیستم شخصی (جایگزین نسخه وب ریمیکس)
- آماده سازی محیط توسعه قرارداد هوشمند به صورت لوکال (VSCode+پلاگین سالیدیتی)
- آماده سازی محیط توسعه DApp ها (Ganache+Truffle+Node.js)
Module 4 : مبانی برنامه نویسی وب (Web Programming)
در این ماژول، مبانی برنامه نویسی وب از جمله HTML, CSS و Javascript آموزش داده می شود. این ماژول، پیش نیاز توسعه DApp می باشد و لازم است دانشجویان گرامی قبل از شروع مباحث توسعه DApp ویدئوهای این بخش را مطالعه کرده باشند. توجه داشته باشید، چنانچه دانش قبلی در رابطه به توسعه FrontEnt دارید نیازی به شاهده ویدئوهای این بخش نخواهید داشت. این بخش برای دانشجویانی در نظر گرفته شده که تجربه قبلی در رابطه با طراحی صفحات وب و مبانی برنامه نویسی وب نداشتند.
1- طراحی صفحات وب با HTML و CSS
- ساختار یک فایل HTML
- تگ های مهم و پرکاربرد HTML
- ساخت فرم وب در HTML
- افزودن استایل به المان های صفحه به کمک CSS
- آشنایی با خصیصه ها و Selector ها
- تبدیل استایل های آنلاین به فایل استایل
- تمرین و ساخت چند صفحه وب با چیدمان مختلف به کمک HTML و CSS
2- برنامه نویسی با جاوا اسکریپت (JavaScript)
- آشنایی با متغیرها و توابع جاوا اسکریپت
- ساختارهای شرطی و کنترلی در جاوا اسکریپت
- ساختارهای تکرار در جاوا اسکریپت
- عملگرهای ریاضیاتی و منطقی
- آرایه ها در جاوا اسکریپت (push و pop)
- ساختارهای حلقه
- توابع و حوزه های دسترسی
- توابع تو در تو
- برنامه نویسی ناهمگام در جاوا اسکریپت (Asynchronous)
- Async
- Await
- Callback
- Promises
Module 5 : توسعه اپلیکیشن های غیرمتمکز (DApp)
در این ماژول از بوت کمپ بلاکچین، با پیاده سازی اپلیکیشن های غیر متمرکز (Dapps) آشنا شده و نصب و آماده سازی ابزارهای برنامه نویسی، کامپایل و استقرار قراردادهای هوشمند را کار خواهیم کرد. برای توسعه کانترکت DApp ها از ترافل (Truffle) استفاده خواهیم کرد. همچنین در این بخش از دوره با کتابخانه بسیار مهم Web3.js آشنا خواهیم شد. این کتابخانه به ما اجازه خواهد داد تا بتوانیم از لایه Front وب به قراردادهای هوشمند متصل شده و توابع آنها را فراخوانی کنیم. از گاناش (Ganache) برای راه اندازی یک بلاکچین لوکال روی سیستم شخصی استفاده می کنیم.
آن عده از دوستانی که تجربه قبلی در زمینه طراحی صفحات وب و برنامه نویسی FrontEnd را ندارند، لطفاً قبل از شروع کلاس های مربوط به توسعه DApp، ابتدا ماژول 4 را مطالعه نمایند تا با اصول طراحی صفحات وب و برنامه نویسی FrontEnd آشنا شوند.
1- نصب و آماده سازی ابزارهای توسعه بلاکچین
- Metamsk
- Ganache
- Truffle
- VSCode
- Node.js و npm
2- طراحی و توسعه DApp
- مشخص کردن نیازمندی ها و قابلیت های DApp
- واسط کاربری (UI)
- لایه ادغام (Integration Layer)
- قرارداد هوشمند (Smart Contract)
- تکنولوژی ها و فریمورک ها مورد استفاده در توسعه DApp
- لوکال تست نت Ganache
- توسعه و دپلوی قرارداد هوشمند با فریمورک Truffle
3- کتابخانه Web3.js (تعامل با بلاکچین و قرارداد هوشمند)
- نوشتن یک کد ساده برای شروع کار با کتابخانه Web3.js
- آشنایی با ماژول های مختلف Web3.js
- web3.eth : برای تعامل با شبکه اتریوم
- web3.eth.net : برای تعامل و دریافت اطلاعات شبکه
- web3.eth.account : برای تعامل با اکانت های اتریوم
- Web3 util : تبدیلات مقادیر، تایپ ها و واحدهای مالی به یکدیگر
- افزودن کتابخانه Web3.js به پروژه
- اتصال به اسمارت کانترکت
- فراخوانی توابع/فانکشن های قرارداد هوشمند
- بررسی مقادیر برگشتی فانکشن ها
- ساخت تراکنش
- انتقال Ether به اکانت EOA
- انتقال Ether به قرارداد هوشمند
- دسترسی به فیلدهای یک تراکنش یا بلاک
- امضای تراکنش (Sign)
- دسترسی به log های شبکه
- دسترسی به event ها (بررسی رویدادهای شبکه بلاکچین)
- فیلتر کردن رویدادها
4- آشنایی با سرویس دهنده ها
- اینفورا (Infura)
- آلچمی (Alchemi)
- Web3 Providers
- Node Providers
5- اتصال کیف پول
- وصل کردن کیف پول متامسک
- کانکت کردن انواع کیف پول (Wallet Connect)
پروژه های انجام شده (DApp)
پروژه 1 : Hello-Dapp
در این پروژه با نحوه پیاده سازی یک Dapp کاملاً ساده آشنا خواهید شد. در این Dapp به کانترکت Hello وصل شده و دو دکمه برای فراخوانی دو تابع getHello و setHello در نظر گرفته شده است.
پروژه 2 : Web3-Dapp
در این پروژه یک کد کامل برای آموزش نحوه بکارگیری توابع کتابخانه Web3.js نوشته شده است. در این سورس کد که به صورت جامع و کلی طراحی شده، سعی شده اغلب ویژگی های مهم و پرکاربرد کتابخانه Web3.js مورد استفاده قرار گیرد.
تمرینات – پاسخ کامل تمرینات ارائه خواهد شد
پروژه 3 : Sum-Dapp
یک Dapp که دو عدد را از کاربر گرفته و توسط تابع sum داخل اسمارت کانترکت، حاصل جمع دو عدد را محاسبه کرده و نتیجه را مجددا در WebUI نمایش دهد. ابتدا باید یک اسمارت کانترکت ساده نوشته شود که یک تابع برای جمع 2 عدد و برگشت دادن نتیجه جمع، داشته باشد.
پروژه 4 : Receipt-Dapp
یک Dapp که دارای یک اسمارت کانترکت ساده مثل Hello باشد و یک فانکشن ساده داشته باشد که یک متغیر روی بلاکچین را تغییر میدهد. مانند تابع setHello در کانترکت Hello. هدف ما این است که پس از انجام تراکنش فراخوانی فانکشن setHello، نتیجه تراکنش (یعنی receipt) از result تراکنش خوانده شود و فیلدهای تراکنش در WebUI نمایش داده شود.
پروژه 5 : Ballot-Dapp
در این پروژه با نحوه پیاده سازی سیستم های رأی گیری و انتخابات غیرمتمرکز در بستر بلاکچین آشنا خواهید شد. قبلا در ماژول اسمارت کانترکت نحوه پیاده سازی قرارداد هوشمند این موضوع، بررسی و آموزش داده شده و در این پروژه DApp کامل این موضوع پیاده سازی خواهد شد.
پروژه 6 : Awake-Dapp
در این پروژه با نحوه پیاده سازی سیستم غیرمتمرکز مدیریت مالی تورهای گردشگری در بستر بلاکچین آشنا خواهید شد. طراحی قرارداد هوشمند این پروژه باید به گونه ای باشد که هزینه های دریافت شده از نفرات ثبت نام شده در هر تور، به درستی در مراحل مشخصی هزینه شود. اسمارت کانترکت باید طوری طراحی شود که تمام چالش ها مانند کنسل کردن، عدم حضور فرد در تور و استراتژی های بازگشت هزینه به درستی مدیریت شود. در این پروژه DApp کامل این موضوع پیاده سازی خواهد شد.
Module 6 : پیاده سازی سیستم های مالی غیرمتمرکز (Defi)
1- آشنایی با مفاهیم توکن
در این ماژول از دوره، با اصطلاحات مهم توکن و Coin آشنا شده و خواهیم دید token چیست. لیست توکن های اتریوم معرفی می شود. ساخت و با مفاهیمی مانند مینت و توکن سوزی آشنا خواهید شد که توکن سوزی چیست و برای چه هدفی استفاده می شود.
- آشنایی با اقتصاد توکنی یا توکنومیک (Tokenomic) و توکنایزیشن (Tokenization)
- آشنایی با توکن های ارز دیجیتال (Crypto Tokens)
- توکن چیست
- انواع توکن
- توکن ارز دیجیتال
- توکن اتریوم
- utility token چیست
- تفاوت کوین و توکن
- استیبل کوین چیست؟
2- برنامه نویسی و ساخت توکن (Token) با استاندارد ERC20
در این ماژول از دوره، با استاندارد ERC20 آشنا شده و خواهیم دید token چگونه ساخته می شود. با ساخت توکن ارز دیجیتال آشنا خواهید شد و ساخت توکن اتریوم استاندارد را نیز معرفی خواهیم کرد.
- آشنایی با استاندارد توکن ERC20
- توابع رایج توکن ERC20
- ساخت یک توکن ساده با استاندارد ERC20 در سالیدیتی
- ساخت توکن ERC20 و BEP20 روی اتریوم با استفاده از زبان Solidity
- ساخت توکن BEP20 روی بایننس اسمارت چین (BSC) با زبان Solidity
- ساخت توکن استاندارد با کتابخانه OpenZeppelin
- Mint کردن توکن (ضرب کردن سکه)
- Freeze و Lock کردن توابع توکن در شرایط خاص زمانی یا …
- Burn یا توکن سوزی
- Deploy کردن توکن روی اتریوم، بایننس اسمارت چین (Binance Smart Chain)
3- فروش یا عرضه توکن
پس از آشنایی با مفاهیم توکن و اصول ساخت توکن، باید یاد بگیریم چگونه می توانیم توکن های ساخته شده را به فروش برسانیم. موضوعی که بعضا با اصطلاح مارکت ارز دیجیتال شناخته می شود. در این قسمت با اصول ساخت پروژه ICO و Airdrop و برنامه نویسی و راه اندازی یک ICO برای عرضه اولیه توکن و همچنین نحوه Airdrop کردن آشنا خواهیم شد.
- راه اندازی ICO یا عرضه اولیه توکن (Initial Coin Offering)
- ایردراپ چیست (Airdrop) و ایردراپ ارز دیجیتال چگونه انجام می شود
- دریافت توکن رایگان (ایردراپ) چگونه امکانپذیر می شود؟
4- آشنایی با فرآیند فروش/عرضه/تبادل توکن در صرافی غیرمتمرکز (Dex)
در این بخش تمرکز ما روی صرافی غیرمتمرکز (Dex) خواهد بود. این مرحله از دوره، به عنوان گام نهایی چرخه یک ارز دیجیتال محسوب می شود. فرآیندی که از بدو تولد (ساخت توکن) آغاز شده و با گذار از مراحل جذب سرمایه از طریق ICO و … به مرحله تکامل رسیده و اکنون در مرحله ای است که باید در مارکت های ارز دیجیتال و صرافی های ارز دیجیتال لیست شده و قابل تبادل (خرید و فروش) باشد.
در این بخش لازم است که با عملکرد صرافی های غیرمتمرکز ارز دیجیتال آشنا شوید. صرافی غیرمتمرکز نوعی از صرافی است که از طریق آن کاربر می تواند بدون نیاز به طی فرایند احراز هویت (KYC) ارزها یا توکن های خود را مبادله (Swap) کند. برای هر ساز و کار صرافی غیرمتمرکز یا دکس (Dex) یک مثال انجام خواهد شد تا با نحوه برنامه نویسی و ساز و کار پروژه دکس (صرافی غیرمتمرکز) آشنا شوید.
- قیمت گذاری توکن در صرافی چگونه انجام می شود؟
- نحوه تعیین قیمت توکن های ERC-20 در صرافی غیرمتمرکز (محاسبه Swap Rate با فرمول عرضه و تقاضا)
- تبادل توکن (Swap) در صرافی های غیرمتمرکز (Dex)
- آشنایی با اصول کار صرافی های غیرمتمرکز
- اصول کار استخر نقدینگی (Liquidity Pool) در صرافی غیرمتمرکز
- پیاده سازی استخر نقدینگی (Liquidity Pool) و پیاده سازی فرمول محاسبه Swap Rate (قیمت توکن)
- پیاده سازی صرافی غیرمتمرکز با قابلیت تبادل توکن (Token Swaps)
5- آشنایی و توسعه پلتفرم های سپرده گذاری و سوددهی در بستر بلاکچین (Staking)
در این بخش با ساز و کار سیستم های سپرده گذاری و سوددهی ارز دیجیتال یا همان استیکینگ (Staking) آشنا خواهید شد. برای استیکینگ (Staking) یک پروژه انجام خواهد شد تا با نحوه برنامه نویسی پروژه استیکینگ آشنا شوید.
- استیکینگ (Staking) یا سیستم های سوددهی مبتنی بر ارزهای دیجیتال
- سپرده گذاری استیک کردن (Stake) ارز دیجیتال
- برداشت سپرده (Withdraw)
- دریافت سود سپرده (Reward)
- سود سپرده سیستم های Defi چگونه محاسبه می شود؟
- پیاده سازی پلتفرم Defi برای سوددهی به سرمایه گذاران ارز دیجیتال
پروژه های انجام شده (DApp)
پروژه 7 : Simple-ERC20
پیاده سازی یک توکن با استاندارد ERC20 که برای ساخت توکن استاندارد از کتابخانه Openzeppelin استفاده شده است. در این توکن، ویژگی های خاص توکن ها (lock,burn,tax,…) پیاده سازی شده است.
پروژه 8 : ICO-Dapp (🌟جدید )
در این پروژه، یک سیستم جذب سرمایه (CrowdFunding) یا همان عرضه اولیه توکن های ERC-20 خواهیم ساخت. ابتدا یک توکن با نام فرضی MyToken و سمبول MTK با موجودی اولیه مشخصی را خواهیم ساخت. این توکن قابلیت فروش خواهد داشت و برای فروش این توکن یک ICO-DApp خواهیم ساخت که مشتری بتواند با کلیک روی دکمه خرید به تعداد دلخواه از این توکن را خریداری نماید. همچنین تعدادی از توکن ها به صورت رایگان و در قالب Airdrop توکن در اختیار عده خاصی از متقاضیان قرار می گیرد.
پروژه 9 : Dex-Dapp
در این پروژه یک صرافی غیرمتمرکز به شکل ساده مدل سازی و پیاده سازی شده است. در این صرافی قابلیت Liquidity Pool به شکل ساده پیاده سازی شده است. این صرافی غیرمتمرکز (Dex) دارای دو توکن به نام TokenA و TokenB می باشد. کاربرانی که در کیف پول خود تعدادی از این توکن را دارند یا خود Owner توکن، می تواند تعدادی از هر دو توکن را در استخر نقدینگی این صرافی قرار دهد. هر کاربر که حداقل یکی از این توکن ها را در کیف پول خود داشته باشد، می تواند از طریق قابلیت swap این صرافی، بخشی از توکن های خود را داده و در قبال آن، تعدادی از توکن های دیگر را از صرافی تحویل بگیرد.
پروژه 10 : Staking-Dapp
در این پروژه یک سیستم Defi برای سوددهی به سپرده گذاران ارز دیجیتال طراحی و پیاده سازی شده است. این سیستم دارای دو توکن می باشد که یکی از این توکن های برای سپرده گذاری و دیگری برای پرداخت سود سپرده گذاران استفاده می شود. کاربر می تواند در این سامانه تعدادی از توکن های مربوط به سپرده را که قبلا از صرافی یا در فرآیند ICO تهیه کرده، به صورت سپرده قرار دهد (Staking).
سیستم با توجه به Reward Rate (نرخ سود) در نظر گرفته، به ازای هر روز که از شروع سپرده گذاری کاربر میگذرد به او سود میدهد. سیستم برای هر سپرده یک مدت زمان در نظر میگیرد (برای مثال 90 روز). پس از اتمام دوره، کاربر باید اصل پول و سود خود را برداشت کند. همچنین کاربر می تواند هر زمان که بخواهد، سود محاسبه شده تا آن لحظه را برداشت کند. همچنین می تواند قبل از به اتمام رسیدن دوره، اصل پول را نیز برداشت نماید.
تمرینات – پیاده سازی کامل تمرینات ارائه خواهد شد
پروژه 11 : NewDex-Dapp
در این پروژه صرافی Dex-Dapp طوری تغییر داده می شود که کاربر بتواند توکن های خود را در این صرافی Liquidity گذاشته و از سود حاصل از tax/fee اخذ شده از swap های انجام شده در صرافی بهره مند گردد. در واقع صرافی باید در تابع swap خود، بخشی از توکن درخواست دهنده Swap را به عنوان tax/fee برداشته و به عنوان سود به Liquidity Provider ها می دهد. همچنین بخش دیگری نیز به عنوان سود صرافی به حساب خود صرافی انتقال داده می شود.
پروژه 12 : Charity-Dapp
در این پروژه با نحوه پیاده سازی سیستم غیرمتمرکز جمع آوری حمایت مالی و کمک به خیریه ها در بستر بلاکچین آشنا خواهید شد. کمک های جمع آوری شده از محل فروش توکن خود Dapp خواهد بود. حساس ترین قسمت این پروژه طراحی و توسعه توکن و اسمارت کانترکت است که باید حمایت های مالی جمع شده (مبلغ حاصل از توکن های فروخته شده) را به اکانت مشخص شده یا با استراتژی های مشخص شده دیگر بین اکانت های مشخصی تقسیم نماید. در این پروژه DApp کامل این موضوع پیاده سازی خواهد شد.
Module 7 : برنامه نویسی سیستم های مبتنی بر توکن های تعویض ناپذیر (NFT)
1- آشنایی با مفاهیم NFT
در این بخش از دوره، با مفاهیم NFT ها آشنا خواهیم شد.
- آشنایی با NFT ها (توکن های غیر قابل ترید)
- nft چیست؟
- آشنایی با حوزه های کاربرد NFT :
- عرضه آثار هنری NFT شده : تابلوهای نقاشی، موسیقی، ویدئو و سایر هنرهای دیجیتال
- صنعت مد
- لایسنس و گواهی
- گیمینگ
- ورزش
- کلکسیون
2- استاندارد ERC-721
یکی از موضوعاتی که در بحث توکن ها بسیار مهم و جذاب است، آموزش ساخت nft توکن یا ارز nft است و اینکه چگونه توکن nft بسازیم. برای یادگیری صحیح اصول ساخت nft ها، ابتدا با استاندارد ERC-721 و توابع این استاندارد آشنا خواهیم شد.
- کاربرد استاندارد ERC721
- آشنایی با وظایف هر کدام از توابع استاندارد ERC721
- ساخت توکن ساده با استاندارد ERC721 در سالیدیتی
- ساخت توکن ERC-721 با زبان Solidity
- کاربرد استاندار ERC-165 برای تشخیص اینترفیس
- ساخت NFT با کتابخانه OpenZeppelin
- Deploy کردن NFT در شبکه های بایننس اسمارت چین (BSC) و پالیگان (Polygon)
- لیست کردن NFT های مینت شده در مارکت پلیس Opensea
3- استاندارد ERC-1155 (🌟جدید )
یکی دیگر از استانداردهای مربوط به ساخت nft استاندارد ERC-1155 است که برای ساخت گونه خاصی از NFT ها که دارای ویژگی تعداد هستند کاربرد دارد. در واقع با استفاده از این استاندارد قادر هستید یک NFT را به تعداد مشخص و دلخواه مینت کنید.
- کاربرد استاندارد ERC-1155
- آشنایی با وظایف هر کدام از توابع استاندارد ERC-1155
- ساخت و دپلوی توکن ساده با استاندارد ERC-1155 در سالیدیتی
4- مدیریت رویالتی NFT با استاندارد ERC-2981 (🌟جدید )
پس از یادگیری استانداردهای ساخت توکن nft با استاندارد ERC-2981 برای تعریف و تخصیص رویالتی (Royalty) یعنی درصد از فروش دوم به بعد NFT ها که به هنرمند اصلی (مینت کننده NFT) تعلق میگیرد آشنا خواهیم شد.
- آشنایی با مفهوم رویالتی (Royalty) در مبحث NFT ها
- کاربرد استاندارد ERC-2981
- آشنایی با وظایف هر کدام از توابع استاندارد ERC-2981
- ساخت NFT با استاندارد ERC721 و تخصیص رویالتی با استاندارد ERC-2981 در سالیدیتی
5- مدیریت متادیتا (Metadata)
در این بخش با نحوه ذخیره متادیتا برای NFT در فضای IPFS آشنا خواهید شد. طوری که تصویر و جزئیات NFT را به صورت استاندارد متادیتا در فضای IPFS ذخیره کرده و در هنگام مشاهده NFT در مارکت پلیس هایی مانند Opensea و … اطلاعات NFT از این فضا load و نمایش داده خواهد شد.
- متادیتا چیست؟
- روش های ذخیره سازی متادیتا
- آشنایی با فایل سیستم های توزیع شده و ذخیره سازی غیرمتمرکز اطلاعات
- IPFS چیست؟
- نصب و استفاده از IPFS Desktop
- نصب کتابخانه nft.storage
- آپلود فایل روی فضای ذخیره سازی غیرمتمرکز IPFS و بدست آوردن CID
- دسترسی به فایل ذخیره شده روی IPFS با داشتن CID فایل
- ساخت متادیتا با استاندارد EIP721 و همچنین استاندارد تعمیم یافته OpenSea
- مشاهده NFT های ساخته شده در OpenSea
6- NFT مارکتپلیس (NFT MarketPlace) (🌟جدید )
در این بخش، موضوع خرید و فروش nft یا انتقال مالکیت یک دارایی (توکنایز شده) به فرد دیگر (برای مثال فروش آثار هنری یا ملک و مستقلات در nft) را بررسی و پیاده سازی خواهیم کرد. برای این منظور یک NFT MarketPlace کامل را پیاده سازی خواهیم کرد. در پروژه مارکت پلیس شما به طور استاندارد با روش صحیح ذخیره متادیتا برای NFT در فضای IPFS آشنا خواهید شد. به طوری که تصویر و جزئیات NFT را با استاندارد metadata در فضای IPFS ذخیره کرده و در هنگام مشاهده NFT در مارکت پلیس هایی مانند Opensea و … اطلاعات NFT از این فضا load و نمایش داده خواهد شد.
- ساخت یا مینت NFT به تعداد دلخواه با استاندارد ERC721
- تخصیص رویالتی (Royalty) برای هنرمند تولید کننده NFT به کمک استاندارد ERC-2981
- ذخیره تصویر و پراپرتی های NFT در فضای IPFS و تشکیل tokenURI برای هر NFT
- ذخیره tokenURI ها در کانترکت ERC721URIStorage
- تعیین قیمت NFT و لیست کردن nft برای فروش
- ویرایش آفر و تغییر قیمت nft لیست شده
- حذف nft از لیست و کنسل کردن فروش NFT
- فروش یا انتقال مالکیت NFT به فرد جدید
- استیک کردن NFTها در کانترکت StakingNFT و دریافت سود سپرده گذاری
پروژه های انجام شده (DApp)
پروژه 13 : NFT-MarketPlace
در این پروژه، یک NFT MarketPlace کامل پیاده سازی شده است. در پروژه مارکت پلیس شما به طور استاندارد با روش صحیح ذخیره متادیتا برای NFT در فضای IPFS آشنا خواهید شد. به طوری که تصویر و جزئیات NFT را با استاندارد metadata در فضای IPFS ذخیره کرده و در هنگام مشاهده NFT در مارکت پلیس هایی مانند Opensea و … اطلاعات NFT از این فضا load و نمایش داده خواهد شد.
تمرینات – پیاده سازی کامل تمرینات ارائه خواهد شد
پروژه 14 : RES-Dapp
در این پروژه، یک سیستم خرید و فروش املاک و مستقلات (Real Estate) با امکان تعیین قیمت و انتقال مالکیت به غیر را پیاده سازی خواهیم کرد. برای انجام پروژه nft از استاندارد توکن غیر قابل تغییر ERC721 استفاده خواهیم کرد. توکن ERC721 از نوع توکن های NFT بوده و طراحی شده تا قابلیت پیاده سازی ادعای مالکیت و انتقال مالکیت یک دارایی دیجیتال (داکیومنت، توافقنامه، مدیا و …) را امکانپذیر سازد. در این پروژه قصد داریم DApp این موضوع را به طور کامل و از صفر تا صد پیاده سازی کنیم.
- تعریف منازل مسکونی توسط مالک (ساخت NFT)
- قیمت گذاری منازل، توسط سوپروایزر منطقه مسکونی
- امکان افزایش یا کاهش قیمت ملک توسط سوپروایزر
- فروش و انتقال مالکیت NFT ملک به فرد جدید
- نگهداری سوابق مالکیت ملک
- نگهداری سوابق تغییرات قیمت ملک
- استفاده از ویژگی رویالتی جهت پرداخت کمیسیون و …
پروژه 15 : Auction
در این بخش، آموزش پیاده سازی مزایده/حراجی (Auction) برای فروش دارایی و آثار هنری (مانند تابلوهای نقاشی) در قالب NFT را بررسی خواهیم کرد. در این سامانه ابتدا یک NFT با قیمت پایه تعریف می شود. مزایده یا یک قیمت پایه که برای NFT تعریف شده بود آغاز خواهد شد. سپس شرکت کنندها قیمت پیشنهادی خود را ارائه می دهند. هر شرکت کننده که بالاترین قیمت را برای NFT پیشنهاد دهد، مالکیت NFT به او انتقال داده خواهد شد. مبلغ دریافت شده از شخص برنده نیز پس از کسر مالیات سیستم مزایده، به مالک قبلی انتقال داده خواهد شد. در این پروژه ویژگی ذخیره و بازیابی تصویر NFT در فضای IPFS انجام خواهد شد.
- مینت NFT
- فروش NFT در سیستم حراجی به صورت مزایده با درج قیمت پایه و مدت زمان
- امکان ارائه پیشنهاد قیمت و خرید
- انتقال مالکیت به خریدار
- انتقال مبلغ حاصل از فروش NFT به مالک قبلی پس از کسر کارمزد سامانه
آزمون و پروژه پایانی
در پایان این بوت کمپ آموزشی، یک آزمون آنلاین با سوالات چهار گزینه ای طراحی شده است. آزمون به گونه ای طراحی شده است که دانشجو با شرکت در تمام جلسات دوره، قادر به کسب نمره قبولی (70%) خواهد بود.
دانشجویان محترم پس از کسب نمره قبولی در آزمون آنلاین، می توانند پروژه پایانی دوره را به صورت انفرادی یا تیمی انجام داده و از طریق ابزار Source Control گیت هاب ارائه دهند. برای آنلاین کردن پروژه پایانی، دانشجویان محترم می توانند DAPP پروژه را روی فضای رایگان گیت هاب یا یکی از سرویس های رایگان Host کنند. پروژه های انجام شده توسط مدرس دوره بررسی شده و متناسب با میزان فعالیت انجام شده، امتیاز داده خواهد شد.
پس از موفقیت در هر دو آزمون آنلاین و پروژه پایانی، گواهینامه اتمام دوره متخصص برنامه نویس بلاکچین، توسط مرکز آموزش علوم نوین امیرکبیر به دانشجویان گرامی، ارائه خواهد شد.
ابزارها و تکنولوژی های مورد نیاز دوره
زبان ها و کتابخانه های برنامه نویسی
- Solidity
- CSS-HTML-JQuery-Bootstrap
- JavaScript
- Node.js
- Web3.js
ابزارها و محیط های توسعه
- Remix
- VSCode
- Truffle
- Metamask
- Ganache
- IPFS
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
بوت کمپ پایتون و علم داده
دوره برنامه نویسی NFT و متاورس (Metaverse)
دوره اصول و مبانی برنامه نویسی
دوره آموزش سالیدیتی (Solidity)
دوره آموزش سالیدیتی (Solidity) دوره جامع آموزش سالیدیتی ، دوره ای است که برای شما که قصد دارید به عنوان…
دوره مفاهیم بلاک چین | نقشه راه ورود به بازارکار بلاکچین
دوره تخصصی امنیت و بازنگری قرارداد هوشمند (Audit)
دوره هایپرلجر فابریک پیشرفته | کاربرد بلاکچین در صنعت
دوره هایپرلجر فابریک مقدماتی | HyperLedger Fabric
دوره آموزش برد رزبری پای – ۳ Raspberry Pi
معرفی دوره رزبری پای چیست؟ Raspberry Pi یک برد الکترونیکی است که برای پیاده سازی پروژه های کنترلی مورد استفاده…
امتیاز دانشجویان دوره
نظرات
۵,۰۰۰,۰۰۰ تومان قیمت اصلی ۵,۰۰۰,۰۰۰ تومان بود.۵۰۰,۰۰۰ تومانقیمت فعلی ۵۰۰,۰۰۰ تومان است.
مهندس مجید شبیری
مدرس دورههای برنامهنویسی و بلاکچینکارشناس ارشد رشته مهندسی فناوری اطلاعات – گرایش شبکه های کامپیوتری – دانشگاه صنعتی امیرکبیر. مؤسس و بنیانگذار علوم نوین امیرکبیر
پردرآمدترین مهارت ها را یاد بگیرید
طرح استعدادیابی
ارشدان بلاکچین
(Blockchain Seniors)
تا کنون بیش از 1000 دانشجو در این طرح شرکت کرده اند.
شما هم دوست دارید برای تضمین آینده کاری خودتان به این جمع بپیوندید؟
همین امروز شروع کنید!
Mojtaba
استاد سلام و خسته نباشید !
استاد سوالی داشتم .
استاد میشه که مثلا فرض کنید برای یک گیم میخواهیم کانترکت ERC721 (NFT) بنویسیم که مثلا از هر آیتمی تو داخل بازی تعداد خاصی موجود باشه مثلا یک ماسین مدل فلان با کاربرد فلان کلا قابلیت مینت شدن تا سقف 3500 عدد رو داشته باشیم اوکی هست ، منظورم این هست که لازم نیست که دقیقا از هر چیزی فقط بتونیم یک عدد NFT بسازیم ؟
ممنون میشم پاسخ کامل بدین .
مجید شبیری(مدیریت)
سلام و عرض ادب.
ممنونم. شما هم خسته نباشید.
اگر هدف شما ایجاد آیتم هایی است که کاملا متمایز هستند، باید از استانداردی استفاده کنید که کاملا یونیک و منحصر به فرد باشه و در آن واحد فقط متعلق یه یک آدرس باشد. برای این کار بهترین استاندارد همون استاندارد ERC-721 هست. برای مثال کیپتو کیتی ها را در نظر بگیرید یا مثلا کریپتولند. هر زمین یا هر بچه گربه در پروژه های ذکر شده، هویت کاملا متمایزی داشته و مشابه هیچ nft دیگری نیست. این موارد نیاز به استاندارد erc721 دارند. از لحاظ محدودیت مینت شدن هم میتوان این کار را در کانترکت کالکشن nft انجام داد و محدودش کرد.
اگر در هدف و کاربردی که در نظر دارید، آیتم ها قابل تمیز نیستند و همه با هم یکسان هستند میتوانید از استاندارد ERC-1155 استفاده نمایید. برای مثال تصمیم گرفتید یک نوع ویژگی یا امتیاز (مثل قدرت موتور) ایجاد کنید که player ها بتوانند با دریافت آن امتیاز، قدرت موتور ماشین خودشان را بالا ببرند. این امتیاز ها همه با هم یکسان هستند و قابلیت انتقال به دیگران یا خرید و فروش را هم دارند. این آیتم ها را میتوانید با erc1155 پیاده سازی کنید.
علیرضا
استاد سلام و خسته نباشید استاد چجوری میتونیم event هایی که تو بخش اسمارت کانترکتو emit میکنیم رو با web3.js در سمت ui هندل کنیم ، چجوری باهاشون ارتباط برقرار کنیم ؟ ممنون میشم پاسخ کامل بدین استاد .
مجید شبیری(مدیریت)
سلام
عرض ادب خدمت شما دوست گرامی
شما برای مشاهده اطلاعات event هایی که در یک فانکشن emit کردید باید در front وقتی از طریق web3 فانکشنی رو فراخوانی میکنید، بعد از تموم شدن فراخوانی، receipt تراکنش رو بگیرید و سپس بخش logs موجود در ریسیپت تراکنش رو بگیرید تا بتونید event های emit شده در اون فانکشن و همینطور، پارامترهی موجود در event ها رو بخونید.
همچنین میتوانید از ویژگی subscription , Event Filtering موجود در web3.js استفاده کنید. لینک های زیر را مشاهده کنید:
https://web3js.readthedocs.io/en/v1.9.0/web3-eth-subscribe.html
https://web3js.readthedocs.io/en/v1.9.0/web3-eth-contract.html#events
موفق باشید.
Mani
سلام خسته نباشید من میخواستم در حوزه بلاکچین فعالیت کنم و یک سوال برایم پیش دارم برای فعالیت حرفه ای در حوزه بلاکچین باید حوزه وب رو هم حرافه ای بشیم یا نیازی نیست و اگه نیاز هست بهتره اول توی کدومش حرفه ای بشیم
مجید شبیری(مدیریت)
سلام
ممنون دوست عزیز
اگر قصد دارید استخدام شوید، بستگی به موقعیت شغلی و جایگاه شغلی داره که برای آینده در نظر گرفتید.
معمولا در جایگاه Solidity Developer شما باید تمرکز خودتون رو بگذارید روی زبان سالیدیتی. نحوه برنامه نویسی اسمارت کانترکت ها به زبان سالیدیتی، نوشتن تست برای کدهای سالیدیتی، ارزیابی امنیتی قراردادهای هوشمند سالیدیتی و …
برای جایگاه Blockchain Developer معمولاً افرادی را نیاز دارند که بتواند یک اپلیکیشن Web2 که توسط برنامه نویس Front توسعه داده شده را به Web3 منتقل کند. یا اصطلاحاً آن را به بلاکچین متصل کند. که لازم است برای این کار قراردادهای هوشمند مورد نیاز را توسعه داده و از سمت Front به کمک کتابخانه Web3.js یا Ether.js توابع اسمارت کانترکت را call کرده و بین Front و SmartContract که روی بلاکچین قرار گرفته، تبادل اطلاعات صورت گیرد. در این جایگاه شغلی حتی اگر نیروی بلاکچین دولوپر آشنایی کاملی با Web نداشته باشد، باز هم می تواند در جایگاه خود وظایف مد نظر را انجام دهد ولی برای سادگی کار بهتر است نیروی بلاکچین دولوپر تا حد متوسط با توسعه وب هم آشنایی داشته باشد.
معمولا Web Developer ها هر کدام استک های مختص خودشان (بسته به شرکت یا تیمی که فعالیت میکنند) را دارند. شما باید با توجه به علاقه خود و نیاز بازار هدف مورد نظرتان یکی از تکنولوژی ها یا استک های توسعه وب را در نظر گرفته و تا حد متوسط با آن آشنا شوید. معمولا اگر با CSS-HTML-JS-ES-BootStrap-JQ آشنا باشید میتونید DApp های کاملی را توسعه دهید. ولی اگر React رو هم یاد بگیرید قطعاً خواهید توانست پروژه های حرفه ای تر و تجاری تری را توسعه دهید.
مراحل پیشنهادی به اینصورت می باشد:
1- ابتدا از یادگیری اصول سالیدیتی شروع کنید.
2- سپس توسعه وب را به صورت ساده فرا بگیرید (CSS-HTML-JS-ES-BootStrap-JQ)
3- در مرحله بعد با کتابخانه Web3.js کار کنید و بتوانید از Front وب با بلاکچین و توابع اسمارت کانترکت تعامل داشته باشید
4- در نهایت روی تست و امنیت سالیدیتی وقت بگذارید و React را یاد بگیرید تا بتوانید DApp های خود را تجاری سازی کنید
علیرضا حسینی
استاد سلام و خسته نباشید استاد میخواستم لطفا کنید منبعی که کامل در مورد ethereum api prvider صحبت کردرو اعلام کنید تا ازش استفاده کنیم . (مثال: ({})ethereum.request)
مجید شبیری(مدیریت)
سلام و عرض ادب
بنده در این دوره از Web3.js Ethereum API استفاده میکنم که از داکیومنتیشن Web3.js هم می تونید لیست کامل توابع و امکانات این کتابخانه را مطالعه بفرمایید:
https://web3js.readthedocs.io/en/v1.7.3/
برای مشاهده راهکارهای دیگر میتوانید راهنمای اتریوم را نیز مطالعه نمایید:
https://ethereum.org/en/developers/docs/apis/backend/
موفق باشید.
reZa
سلام میخواستم ببینم از کجا میتونیم سورس کدهایی که مینویسید رو دانلود کنیم چون جایی به این موضوع اشاره نکردید ؟
مجید شبیری(مدیریت)
سلام و عرض ادب
سورس کدها پس از هر جلسه در گروه پشتیبانی دوره برای دانشجویان دوره ارسال میگردد.
امیراحسان
سلام من از دوره اردیبهشت (بوت کمپ هفتم) جا موندم. میخواستم بدونم دوره بعدی کی برگزار میشه که بتونم شرکت کنم؟
مجید شبیری(مدیریت)
سلام دوست عزیز
دوره بعدی، بوت کمپ 8 اُم، هفته اول تیرماه خواهد بود
انشاالله در دوره جدید در خدمت خواهیم بود.
sarikhani
سلام و احترام
1- تا چه زمانی مهلت ثبت نام داریم؟
2-درمورد ساعت برگزاری دوره نمیشه حداقل ساعت 17 به بعد باشه، و یا روزهای پنج شنبه و جمعه. در این تایم اکثرا سرکار هستیم.
سپاس
مجید شبیری(مدیریت)
با سلام و احترام
تا روز شروع دوره و معمولا چند روز پس از شروع امکان ثبت نام وجود دارد
چون دوره دارای ویدئوی ضبط شده است میتوانید بعد از شروع هم به دوره ملحق شوید
ولی در مورد تایم دوره، اگر همه دانشجویانی که ثبت نام کردند، موافق باشند میتوانیم در گروه دوره نظرسنجی کنیم و دوره از ساعت 17 شروع شود.
itzamir.mardani( دانشجوی دوره )
سلام خسته نباشید میخواستم بدونم بعد ین دوره کامل به زبان سالیدیتی مسلط میشیم ؟ و با توجه به تقضای این زبان میتونیم پروژه بگیریم و کسب درامد کنیم ؟ یا اینکه نه برای کسب در امد ازش باید باید به صورت پیشرفته تر یاد بگیریم و موارد دیگر هم در نظر بگیریم؟
مجید شبیری(مدیریت)
سلام و عرض ادب
بله دوست عزیز، سرفصل این دوره طوری تنظیم شده که برای یادگیری کامل برنامه نویسی اسمارت کانترکت به زبان سالیدیتی، توسعه توکن و NFT، توسعه DApp ها و همچنین توسعه صرافی غیرمتمرکز (Dex) و همچنین سیستم های Defi مانند Staking کافی بوده و شما را برای ورود به بازار کار آماده خواهد کرد.
شما بعد از گذراندن این دوره آموزشی، نیاز به دوره آموزشی دیگری نخواهید داشت. البته برای حفظ جایگاه خود در حوزه برنامه نویسی بلاکچین، همواره نیاز به مطالعه و انجام تمرینات بیشتر را خواهید داشت.
M gh( دانشجوی دوره )
سلام استاد
پس از اتمام دوره امکان دریافت مدرک به زبان انگلیسی وجود دارد؟؟
مجید شبیری(مدیریت)
سلام
بله دوست عزیز، صدور گواهی به زبان انگلیسی نیز امکانپذیر می باشد.
mahareza1999( دانشجوی دوره )
درود جناب شبیری . سوال در مورد گواهی پایان دوره دارم و آزمونی که میگیرین. اگر نمره ی قبولی رو نگیریم ، امکان تمرین و درخواست آزمون مجدد وجود داره ؟ صرفا در مورد گواهی میخوام بدونم
مجید شبیری(مدیریت)
درود بر شما دوست گرامی
بله مشکلی نیست. میتوانید دوباره در آزمون شرکت کنید و گواهی دریافت کنید.
محسن
با سلام
ویدئوهای دوره به صورت دانلودی در اختیار شرکت کنندگان قرار داده میشه؟
مجید شبیری(مدیریت)
با سلام و عرض ادب
بله دوست عزیز، ویدئوهای دوره در قالب spot player در اختیار شما قرار داده خواهد شد.
امید
سلام خسته نباشید.
استاد ما هایی که از دوره این سری (بوت کمپ پنجم) جا موندیم دوره ی بعدی کی هستش؟
و اینکه آیا تخفیفی رو دوره امکان داره بزارید؟
ممنون.
مجید شبیری(مدیریت)
سلام
وقت بخیر
ممنونم از شما.
بوت کمپ 6 به صورت فشرده در ایام نوروز 1401 از 4 تا 13 فروردین برگزار خواهد شد.
این دوره مجموعاً 40 ساعت کلاس آنلاین (همراه با ویدئوی آفلاین دوره) است و هر روز به مدت 4 ساعت کلاس آنلاین خواهیم داشت.
پکیج هدیه: ویدئوهای آفلاین مبانی برنامه نویسی وب
کمپ نوروزی تخفیف ویژه داره میتونید استفاده کنید.
کد تخفیف : bc-amirkabir
چنانچه حضور در کمپ نوروزی برای شما امکانپذیر نبود، میتوانید در بوت کمپ 7 که در هفته اول اردیبهشت 1401 شروع خواهد شد شرکت نمایید.
موفق باشید.
رضا
استاد عزیز مگه نفرمودین که ویدیوی جلسات ضبط میشن و کسانی که نتونستن ببینن میتونن بصورت آفلاین جلسات رو مشاهده کنن ؟
در ضمن خسته نباشید .
مجید شبیری(مدیریت)
ممنونم آقا رضای عزیز
بله همینطوره. دوره ضبط میشه و ویدئوی آفلاین دوره در اختیار شما قرار میگیره که بتونید جلساتی رو که نبودید رو به صورت آفلاین مشاهده کنید.
منظور بنده این بود که اگر به هر دلیلی شرایط ثبت نام در کمپ نوروز رو نداشتید بعد از عید هم دوره برگزار میشه.
ولی خوب مزیتی که کمپ نوروزی داره تخفیف 20 درصدی و فشرده بودن دوره است که برای دوستانی که ماه های دیگه تایم کافی ندارن در این دوره میتونن 10 روز زمان بگذارند و دوره رو شرکت کنند🙂
فرناز فروغيان( دانشجوی دوره )
سلام وقت شما بخیر
ایا این امکان وجود ندارد روزهای برگزاری اخر هفته باشد
این تایم یا کلاس دانشگاه هستیم یا سرکار
و اگر نشود چه زمانی دسترسی داده میشود به صورت افلاین مشاهده کنیم؟
مجید شبیری(مدیریت)
سلام
وقت بخیر
روزهای برگزاری این دوره (بوت کمپ هفتم) دوشنبه و سه شنبه است و چون ثبت نام شروع شده، تغییر روز کلاس امکانپذیر نیست.
دسترسی به ویدئوی آفلاین نیز از روز ثبت نام، امکانپذیر خواهد بود.
برای اطلاعات بیشتر، لطفا با پشتیبانی تماس حاصل بفرمایید.
با تشکر.
دانیال
سلام. الن اگه بخایم توی دوره شرکت یا وقتی که دوره تموم شد ما خریداری کریدم . ویدیو رکورد شده رو برامون میفرستید ؟
مجید شبیری(مدیریت)
سلام
وقت بخیر
دوره به صورت آنلاین است و از هر وقت که شما در دوره شرکت کنید، می توانید در کلاس های آنلاین حضور داشته باشید.
ضمناً ویدئوهای ضبط شده دوره هم به صورت آفلاین روی سیستم خودتان قابل مشاهده خواهد بود تا بتوانید جلساتی که حضور نداشتید را به صورت ویدئویی دنبال کنید.
گروه پرسش و پاسخ دوره نیز برای رفع اشکال در نظر گرفته شده که به محض ثبت نام، در این گروه نیز عضو خواهید شد.
reza
استاد این فایل web3.js رو میشه تو type script هم استفاده کنیم ؟ منظورم اینه که فرقی نمیکنه که درسته ؟! ممنون .
مجید شبیری(مدیریت)
خواهش میکنم.
بله میشه استفاده کرد. Web3.js یک کتابخانه جاوااسکریپتی است و محدودیتی از لحاظ کتابخانه یا فریمورکی که برای پیاده سازی Front انتخاب میکنید ایجاد نمیکنه. میتونید از React یا TypeScript برای Front پروژه استفاده کنید و از Web3.js هم برای کانکت شدن و فراخوانی فانکشن اسمارت کانترکت ها استفاده کنید.
نامجو
استاد سلام و درود .
استاد میخواستم ببینم که علاوه بر این دوره چه دوره های دیگری نیاز هست تا بتونیم از 0 تا 100 یک دکس امن رو طراحی کنیم .
ممنون میشم اگر یک پاسخ جامع بدین .
مجید شبیری(مدیریت)
با سلام و احترام
دوست عزیز، در این دوره، یک پروژه Dex ساده آموزش داده می شود که دارای یک Liquidiy Pool بوده و شما با پیاده سازی استخر نقدینگی و همچنین محاسبه SwapRate با استفاده از فرمول عرضه/تقاضا آشنا خواهید شد.
پروژه هایی که برای ماژول آخر (دکس) در نظر گرفتیم شما را با اصول و ساز و کار صرافی غیرمتمرکز آشنا کرده و شما نحوه پیاده سازی آن را فرا خواهید گرفت. هر چند برای تجاری سازی نیاز به پیاده سازی پروتکل های مرتبط با دکس خواهید داشت که مسلماً در قالب دوره آموزشی قرار نمی گیرد و لازم است که شما پس از یادگیری اصول اولیه برنامه نویسی دکس، سورس کد پروژه های مختلف را بررسی نموده و الگوبرداری نمایید. برخی از پروتکل ها اوپن سورس بوده و می توانید از آنها در دکس خود استفاده کنید. مانند پروتکل 0X و …
موفق باشید.
موسوی
سلام استاد گرانقدر .
میخواستم ببینم که آیا قراره در آینده آموزش ایجاد ساز کار استیکینگ و liquidity pool آموزش بدید ؟
بر بستر اتریوم منظورمه .
مجید شبیری(مدیریت)
با سلام و احترام
بله دوست عزیز، در این دوره، یک پروژه Dex ساده آموزش داده می شود که دارای یک Liquidiy Pool بوده و شما با پیاده سازی استخر نقدینگی و همچنین محاسبه SwapRate با استفاده از فرمول عرضه/تقاضا آشنا خواهید شد.
همچنین در این دوره یک پروژه Staking نیز به طور کامل (اسمارت کانترکت + فرانت) انجام می شود و شما با نحوه محاسبه سود و پرداخت سود به سرمایه گذاران آشنا خواهید شد. در این پروژه دو توکن در نظر گرفته می شود. یکی برای Stake شدن و دیگری برای پرداخت سود سرمایه گذاران.
ReZa
سلام استاد و خسته نباشید
استاد درآینده نزدیک انشالله قراره یه دوره ای برای 0 تا 100 راه اندازی یک صرافی غیرمتمرکز رو آموزش بدین یا با همین دوره هم میشه یه دکس رو ساخت ؟!
مجید شبیری(مدیریت)
با سلام و احترام
ممنونم. شما هم خسته نباشید.
دوست عزیز، در این دوره، یک پروژه Dex ساده آموزش داده می شود که دارای یک Liquidiy Pool بوده و شما با پیاده سازی استخر نقدینگی و همچنین محاسبه SwapRate با استفاده از فرمول عرضه/تقاضا آشنا خواهید شد.
همچنین در این دوره یک پروژه Staking نیز به طور کامل (اسمارت کانترکت + فرانت) انجام می شود و شما با نحوه محاسبه سود و پرداخت سود به سرمایه گذاران آشنا خواهید شد. در این پروژه دو توکن در نظر گرفته می شود. یکی برای Stake شدن و دیگری برای پرداخت سود سرمایه گذاران.
پروژه هایی که برای ماژول آخر (دکس) در نظر گرفتیم شما را با اصول و ساز و کار صرافی غیرمتمرکز آشنا کرده و شما نحوه پیاده سازی آن را فرا خواهید گرفت. هر چند برای تجاری سازی نیاز به پیاده سازی پروتکل های مرتبط با دکس خواهید داشت که مسلماً در قالب دوره آموزشی قرار نمی گیرد و لازم است که شما پس از یادگیری اصول اولیه برنامه نویسی دکس، سورس کد پروژه های مختلف را بررسی نموده و الگوبرداری نمایید. برخی از پروتکل ها اوپن سورس بوده و می توانید از آنها در دکس خود استفاده کنید. مانند پروتکل 0X و …
موفق باشید.