بوت کمپ جامع برنامه نویسی بلاک چین
بوت کمپ آموزشی برنامه نویسی بلاک چین، قرارداد هوشمند و ساخت 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 دانشجو در این طرح شرکت کرده اند.
شما هم دوست دارید برای تضمین آینده کاری خودتان به این جمع بپیوندید؟
همین امروز شروع کنید!
علی کاظمی
با سلام. مشخصات سیستم مناسب برای این دوره چی هست؟
مجید شبیری(مدیریت)
سلام دوست عزیز.
– سیستمی که بشه روی اون ویندوز 7 یا 10 را نصب کرد. برای اینکه مشکلات کمتری در نصب nodeJs و … داشته باشید پیشنهاد میکنم سیستم از لحاظ کانفیگ و قدرت قابلیت نصب ویندوز 10 رو داشته باشه.
– پردازنده 3 هسته ای کافیه ولی اگه میخواهید سرعت بهتر داشته باشید قطعا 7 هسته ای بهتر خواهد بود.
– رم حداقل 4 گیگ نیاز هست ولی اگر به مرحله ای رسیدید که پروژه تجاری انجام میدید پیشنهادم اینه که زیر 8 گیگ نباشه.
– هارد سیستم خیلی مهم نیست. برای ویندوز 200 گیگ و برای درایو استوریج و ذخیره پروژه ها هم 300 گیگ باشه کافیه یعنی کلا 500 گیگ کافیه.
– گرافیک مهم نیست ولی اگه یه 4 گیگ داشته باشید روی سرعت پراسس سیستم تاثیر داره که البته رو پروژه های سبک خیلی حس نمیشه.
– اگه پروژه تجاری کار میکنید و سیستم pc میخواهید تهیه کنید دو تا مانیتور داشته باشید خیلی حس راحتی بیشتری خواهید داشت و روی سرعت کارتون هم تاثیر مثبت داره. بنابراین در انتخاب کارت گرافیک سیستم توجه کنید که دو تا مانیتور رو ساپورت کنه.
rahmani1366nj( دانشجوی دوره )
چرا تا پول جمع میکنم برای خرید دوره شما تخفیف رو کمتر میکنین:(
مجید شبیری(مدیریت)
دوست عزیز امسال تخفیف های متنوع و خوبی داشتیم و همه طرح ها قبلاً اطلاع رسانی شده. احتمالاً در کانال تلگرام ما عضو نبودید. ولی هدف اصلی ما این بوده که همه دوستانی که علاقمند هستند بتوانند با دسترسی به این دوره آموزشی وارد بازار کار بلاکچین شوند. سعی ما این است که احیاناً مسائل مالی مانع از رشد و یادگیری نشود. در همین راستا بنده با همکاران فنی صحبت میکنم تا به مدت یک ماه یک طرح تخفیفی بسیار مناسب را فعال کنند تا همه دوستان علاقمند بتوانند با قیمت خیلی مناسب از مطالب آموزشی دوره بهره مند شوند.
نغمه( دانشجوی دوره )
ممنون که انقدر سریع پاسخگو بودین و با لطف و گشاده رویی زیاد تخفیفی بهتر از قبل روی سایت فعال کردید، پیروز و سربلند باشید
مجید شبیری(مدیریت)
خواهش میکنم. درخدمت هستیم.
رضایی
سلام
ببخشید هنوز دوره دارید با پشتیبانی؟
مجید شبیری(مدیریت)
سلام. وقت بخیر. بله این دوره همچنان به صورت ویدئویی همراه با پشتیبانی دانشجویان (توسط بنده) ارائه می شود. ضمناً پشتیبانی فنی مربوط به وب سایت و پلیر دوره و همچنین سوالات قبل ثبت نام نیز توسط ادمین تلگرام و پشتیبانی آنلاین انجام می شود.
فربد
سلام
ببخشید دوره ی بعدی چه زمانی شروع میشه ؟
مجید شبیری(مدیریت)
سلام دوست عزیز. دوره در حال حاضر به صورت پکیج ویدئویی همراه با پشتیبانی و پرسش و پاسخ است. هر زمان که بخواهید میتوانید ثبت نام نمایید و یادگیری را شروع کنید.
gholinavaz
با سلام .
بروزرسانی دوره در آینده در اختیار دانشجویان قدیمی قرار داده میشود ؟ یا مبلغی دریافت خواهید کرد
آیا لایو ها برای کل دانشجو ها است یا فقط دانشجویان جدید ؟
مجید شبیری(مدیریت)
با سلام و عرض ادب خدمت شما دوست گرامی
بله بروزرسانی های انجام شده روی دوره به صورت رایگان در اختیار تمامی دانشجویان گرامی قرار داده خواهد شد.
جلسات لایو نیز مختص بوت کمپ هایی است که به صورت آنلاین برگزار می گردد و دانشجویان گرامی که در بوت کمپ آنلاین شرکت می کنند می توانند در جلسات لایو شرکت کنند.
با سپاس از همراهی شما.
coloredsatan( دانشجوی دوره )
استاد شبیری عزیز من یک سوال دیگه هم برام پیش اومد اینکه بر اساس اخرین ورژن سالیدیتی اموزش میدید؟(ورژن ۸ به بالا)
مجید شبیری(مدیریت)
خواهش میکنم دوست عزیز
بله. کلا بنده در هر جلسه آموزشی، طبق آخرین نسخه سالیدیتی تدریس میکنم.
در جلسات اخیر با نسخه 0.8.15 کار کردیم.
پوریا( دانشجوی دوره )
استاد سلام و خسته نباشید.
استاد این IPFS هی مشکل درست میکنه بازم درست کار نمیکنه ارور Cross-Origin میده هی.
چجوری میتونیم مشکلشو یبار برای همیشه حل کنیم ؟؟! 😐
مجید شبیری(مدیریت)
سلام و عرض ادب
بله آقا پوریای عزیز، دلیلش قطع سرویس دهی رایگان اینفورا هست. در پروژه های دوره آموزشی، ما از پکیج ipfs-mini استفاده کردیم که از اینفورا سرویس میگرفت و چند روز پیش اینفورا سرویس دهی رایگانش رو قطع کرده و حتما باید اطلاعات کردیت کارت را وارد کنید تا پروژه ipfs ساخته بشه و بتونید تا 5 گیگ رایگان ازش استفاده کنید. در حال حاضر ما از سرویس جایگزین به نام nft.storage استفاده میکنیم. این سرویس بسیار ساده تر و حرفه ای تر است.
لطفا در گروه دوره پیام بگذارید تا سورس کد مربوط به استفاده از nft.storage در اختیار شما گذاشته شود.
coloredsatan( دانشجوی دوره )
سلام وقت بخیر
میخواستم بدونم در این دوره تست نویسی هم اموزش داده میشه؟
و اینکه بعد از اتمام هر جلسه چند ساعت بعد امکان دانلود ویدیو همون جلسه هست؟
مجید شبیری(مدیریت)
با سلام و عرض ادب
بله موضوع تست نویسی (Unit Testing) نیز جزء سرفصل بوت کمپ بلاکچین است و در ویدئوهای آموزشی قرار داده شده است.
ویدئوی تمام مباحث از قبل ضبط شده و بلافاصله پس از ثبت نام در اختیار شما قرار داده می شود.
ولی چنانچه در بوت کمپ آنلاین شرکت کرده باشید، می توانید ویدئوی جلسات آنلاین را با ابزارهای مربوطه رکورد کنید.
سپاس از همراهی شما.
coloredsatan( دانشجوی دوره )
خیلی ممنون از توضیحات کاملتون استاد
بنظرتون امکانش هست فورک کردن یونی سواپ تو تمرین های این دوره گنجانده شود؟
مجید شبیری(مدیریت)
خواهش میکنم
فورک کردن صرافی غیرمتمرکز یونی سواپ، جزء سرفصل آموزش این دوره نیست.
ولی کلا هر پروژه که ریپازیتوری گیت هاب داشته باشد شما میتوانید ازش فورک بگیرید و نسخه شخصی و خصوصی سازی شده خودتان را ایجاد کنید.
در بحث front چالش خاصی نخواهید داشت ولی در بخش قراردادهای هوشمند و اتصال Front به قرارداد هوشمند باید تغییراتی انجام شود.
از جمله تغییرات لازم این است که شما باید قراردادهای هوشمند مربوط به پروژه خودتان را دپلوی کنید و سیستم لیکوئیدیتی مخصوص صرافی خودتان را ایجاد کنید. همچنین باید در فرانت پروژه به کانترکت های خودتان متصل شوید.
چالش اصلی همان لیکوئیدیتی است که باید برای پروژه خودتان ساخته شود و از توکن های لیست شده به تعداد کافی، در صرافی موجود باشد که صرافی در معرض حمله و سوء استفاده ربات های آربیتراژ قرار نگیرد.
Mr
با سلام
هفته ی قبل کلاس شروع شده یا ۱۷ ام شروع میشه ؟ با توجه به تمدید ثبت نام پرسیدم
مجید شبیری(مدیریت)
سلام و عرض ادب
کلاس های بوت کمپ 8 شروع شده و امروز پنجشنبه 16 تیر هم هفته2 بوت کمپ شروع شد.
عده ای از دوستان پیام داده بودند که این هفته را فرصت ثبت نام داشته باشند تا به همین دوره ملحق شوند که این دوستان هم ثبت نام کردند.
از امروز ثبت نام بوت کمپ9 آغاز خواهد شد.
فاطمه
با سلام استاد در این دوره تست اسمارت کانترکت نیز آموزش داده می شود؟
من python django کار میکنم و تا حد خوبی با بلاکچین و سالیدیتی آشنا هستم و از کتابخانه web3.py هم استفاده کرده ام.
برایم مهم است که سالیدیتی را به صورت حرفه ای یاد بگیرم و با traffle ganache , openzepline کار کنم و بتونم تضمین کنم که اسمارت کانترکت من ۱۰۰ درصد امن است و برای اسمارت کانترکت تست بنویسم.
آیا این دوره اهداف من را پوشش میدهد؟
مجید شبیری(مدیریت)
با سلام و عرض ادب
در این بوت کمپ، ما از قابلیت های مختلف کتابخانه امنیتی OpenZeppelin از جمله استانداردها و EIP های پیاده سازی شده (erc20, erc721, erc1155, erc165, erc2981 , …)، قابلیت های کاربردی مانند burnable, pausable, upgradable و تایید امضا توسط ecrecover، قابلیت های امنیتی از جمله ReentrencyGuard, SafeMath, OnlyOwner و قابلیت های دیگر oz در کانترکت ها استفاده می کنیم.
از لحاظ امنیت هم بهتر است ما این موضوع را از دو رویکرد مورد بررسی قرار دهیم
رویکرد اول – از دیدگاه برنامه نویس – کدنویسی امن
برنامه نویس با نوشتن Unit test برای کانترکت های خود باید از عملکرد صحیح فانکشنالیتی های پیاده سازی شده اطمینان حاصل کند. این موضوع با استفاده از فریمورک هایی مانند Truffle, Hardhat , Foundry امکانپذیر است که در این دوره، به قدر کافی در این رابطه صحبت شده است.
ولی وظیفه برنامه نویس به تست فانکشنالیتی ها ختم نمی شود و یک برنامه نویس ارشد اسمارت کانترکت می تواند با درنظر گرفتن Vulnerability ها و BestPracrice ها سعی کند کدهای ایمن تری بنویسد و همچنین توسط ابزارهای Linter و Hinter موجود سعی کند کدهای آسیب پذیر و خطرساز موجود را پیدا کرده و کانترکت های پیاده سازی شده را تا حد امکان ایمن سازی کند.
رویکرد دوم – از دیدگاه ارزیابی امنیتی – بازنگری امنیتی (Audit) و ارائه گزارش (Report)
پس از اینکه برنامه نویس با رعایت نکات مهم امنیتی، پیاده سازی های خود را انجام داده و تست های فانکشنالیتی را نیز روی کد خود انجام داد، قبل از اینکه نسخه نهایی کد روی شبکه دپلوی شود، ابتدا سورس کد توسط متخصصین امنیت (ممیز) مورد بازنگری قرار گرفته و سورس کد به صورت manual و همچنین توسط ابزارهای اتوماتیک مورد بازنگری قرار گرفته و آسیب پذیری ها یا عدم انطباق ها پیدا شده و نتیجه به شکل یک گزارش Audit به تیم پروژه ارائه می گردد.
توجه داشته باشید که با توجه به گستردگی بحث کدنویسی امن (Secure Coding) و همچنین بحث ممیزی امنیتی (Audit) این مباحث به طور جداگانه در دوره دیگری مورد بررسی و آموزش قرار خواهد گرفت.
ولی قابلیت های امنیتی کتابخانه OpenZeppelin و تست نویسی با فریم ورک های ترافل، هاردهت و فاندری در این دوره آموزش داده شده است.
Alireza
سلام استاد خسته نباشید استاد بننده در مبحث IPFS گیر کردم با موفقیت تونستم ادش کنم ولی وقتی میخوام با استفاده از هش اونو بخونم (ipfs.cat) هی اررور میدهه نمیدونم اررور اجازه دسترسی میده !
لطفا راهنمایی کامل کنید چجوری این مشکلو حل کم ! ممنون
مجید شبیری(مدیریت)
سلام و عرض ادب
ممنون
بله این موضوع به خاطر تغییراتی است که در api مورد استفاده پکیج ipfs مورد استفاده در دوره است. dapp نوشته شده در ماژول NFT که از ipfs استفاده میکرد، بازنویسی شده و نسخه جدید در گروه پرسش و پاسخ بوت کمپ برنامه نویسی بلاکچین، منتشر شده است. میتوانید با مطالعه نسخه جدید dapp مشکل را برطرف نمایید.
موفق باشید.
maziar.daraii.uast
سلام و عرض ادب
کل دوره چند روز طول میکشه و اینکه من در دوره های قبلی شرکت نکردم تاثیری داره؟
مجید شبیری(مدیریت)
با سلام و عرض ادب
بوت کمپ 8 از تاریخ 9 تیر ماه شروع و 7 هفته به طول می انجامد. هر هفته دو روز (پنجشنبه و جمعه) هر روز 3 ساعت کلاس آنلاین خواهیم داشت. در واقع 14 روز (در مجموع 42 ساعت) کلاس لایو خواهیم داشت.
علاوه بر 42 ساعت کلاس لایو + پکیج ویدئویی با بیش از 100 ساعت ویدئوی آموزشی نیز در اختیار شما قرار داده خواهد شد که بتوانید مباحث دوره را به صورت آفلاین با ویدئو آموزشی نیز دنبال کنید.
موفق باشید.
dr.sadeghi.am
سلام
با توجه به اینکه دوره جدید در پنج شنبه و جمعه است اگر در اون ساعت ها در لایو حضور نداشته باشیم . فیلم لایو در اختیارمون قرار می گیرد. و کلا کلاس هایی که هر روز در پنج شنبه و جمعه برگزار میشه روزهای دیگه بدون هیچ گونه محدودیتی مشاهده کرد یا خیر؟
مجید شبیری(مدیریت)
سلام دوست عزیز
بله ویدئوی کلاس ضبط خواهد شد و در قالب SpotPlayer در اختیار شما قرار داده خواهد شد.
شما میتونید هر لحظه به صورت آفلاین ویدئوها رو مشاهده کنید و هیچ محدودیت تایمی نخواهید داشت.