برنامه نویسان سالیدیتی در سال ۲۰۲۲ بیشترین درآمد را در میان همه برنامه نویسان داشتهاند!
زبان برنامه نویسی سالیدیتی به دلیل کاربرد گسترده آن در بلاکچین و قرارداد هوشمند، با استقبال گسترده ای از سوی علاقهمندان به برنامه نویسی همراه شده است. هرروز پروژه های بیشتری بر بستر بلاکچین تعریف می شوند که برای ایجاد و اجرا به برنامه نویسی با زبان سالیدیتی نیازمندند.
رشد روز افزون بلاکچین و پروژه های بلاکچینی از یک سو و کمبود متخصصان برنامه نویسی به زبان سالیدیتی از سوی دیگر باعث شده است که فرصت های شغلی جذاب و متعددی برای این کارشناسان وجود داشته باشد. امکان مشارکت در پروژه های بینالمللی و گذر از محدودیت های جغرافیایی نیز بر محبوبیت این حوزه به ویژه در کشورهایی همچون کشور ما دامن زده است.
آکادمی سیتکس در « دوره آموزش برنامه نویسی سالیدیتی » بر آن شده است تا با ارائه آموزش صفر تا صد برنامه نویسی با زبان سالیدیتی، دانش پذیران علاقمند به این حوزه را در هر سطحی از برنامه نویسی، در مسیر ایجاد تحول در مسیر شغلی، تحصیلی و مهاجرتی یاری نماید.
سالیدیتی، پراستفادهترین زبان برنامهنویسی حال حاضر دنیای بلاکچین (اتریوم و بلاکچینهای مشابه آن) است که با استفاده از آن، اسمارت کانترکتهای (یا همان قراردادهای هوشمند) مورد نیاز برای انواع و اقسام سرویسها در دنیای وب۳ ساخته شده و توسعه داده میشوند.
با فراگیر شدن هرچه بیشتر ایده دنیای غیرمتمرکز و بدون دخالت نهادهای قانونگذار واسط و همچنین ظهور و پیشرفت شگرف فناوریهای جدید از جمله هوش مصنوعی، به نوعی میتوان گفت که نیاز به سرویسها و سیستمهای بر بسترهای غیرمتمرکز هر روزه در حال افزایش است و به تبع آن، نیاز به متخصصین این حوزه نیز به سرعت افزایش خواهد یافت.
در این دوره، آموزشهای خود را از پایهایترین مباحث برنامهنویسی سالیدیتی شروع کرده و پس از آن، مباحث پیشرفته سالیدیتی را یاد خواهیم گرفت. در حین انجام پروژههای کلاسی با سالیدیتی، با ابزارهای رایج این حوزه نیز کار خواهیم کرد و به خوبی آنها را فرا خواهیم گرفت.
با توجه به آیندهی پیش رو در این حوزه، قرار است در این دوره شما را با مهمترین مباحثی که برای ورود به این دنیای جذاب و فوقالعاده پرشتاب نیاز دارید، آشنا کنیم و در کنارتان باشیم تا فرآیند یادگیریتان در این مسیر را بسیار کوتاه کنیم.
با توجه به گسترش روزافزون پروژههای حوزه بلاکچین و افزایش نیاز این پروژهها به متخصصین حوزه برنامهنویسی و همچنین کمبود دانش و افراد متخصص در این حوزه نوپا (به ویژه در ایران)، تصمیم بر برگزاری دورهای جامع از برنامهنویسی حوزه بلاکچین با زبان سالیدیتی گرفته شد.
دانشجویان در این دوره هم برنامهنویسی به زبان سالیدیتی را به خوبی میآموزند تا بتوانند قراردادهای هوشمند و هچنین اپلیکیشنهای غیرمتمرکز دلخواه خود را ایجاد کنند، و هم اینکه با بروزترین ابزارهایی که در پروژههای مطرح دنیای بلاکچین استفاده میشوند نیز آشنا شده و میتوانند با آنها کار کند. در نهایت هدف تیم سیتکس از برگزاری دوره پیش رو این است که دانشجویان پس از گذراندن آن توانایی ورود به عرصه وب۳ را پیدا کنند.
معرفی استاد دوره
مدرس دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp: بهادر قدم خیر
- مهندس نرمافزار و کارشناس ارشد مهندسی IT
- مؤلف کتاب آموزش برنامهنویسی سالیدیتی از انتشارات دیباگران
- مجری و مشاور پروژههای حوزه بلاکچین و کریپتو
- مدرس دورههای برنامهنویسی سالیدیتی در آموزشگاههای برنامهنویسی
ویدئو نظر دانش پذیران دوره آموزش برنامه نویسی سالیدیتی
دستاوردهای دانشپذیران بعد از اتمام دوره
- کسب دانش عمیق نسبت به برنامهنویسی سالیدیتی
- افزایش اعتماد به نفس جهت برنامهنویسی قراردادهای هوشمند
- کسب مهارتهای لازم جهت ارائه پروژههای مختلف در حوزه بلاکچین
- توانایی کار با ابزارهای استفاده شده در بزرگترین پروژههای بلاکچینی روز دنیا
- توانایی ملحق شدن به تیم پروژههای مختلف حوزه بلاکچین
- ارتباط با شبکهای از متخصصین حوزه برنامهنویسی بلاکچین
- درک کدهای پروژههای بلاکچینی مختلف
این دوره به چه کسانی توصیه میشود؟
- افرادی که تمایل دارند وارد یکی از جدیدترین و آیندهدارترین حوزههای تکنولوژی دنیا شوند.
- افرادی که تمایل دارند پتانسیل درآمدی خود را در یکی از پردرآمدترین صنایع روز دنیا افزایش دهند.
- برنامهنویسانی که میخواهند از دنیای وب۲ وارد دنیای وب۳ شوند.
- علاقهمندان به ساخت اپلیکیشنهای غیرمتمرکز
- علاقهمندان به کسب درآمد دلاری (کریپتویی)
- علاقهمندان به یادگیری عمیق مفاهیم برنامهنویسی سالیدیتی
- افرادی که با برنامهنویسی سالیدیتی آشنایی دارند، اما میخواهند مباحث را بسیار حرفهایتر یاد بگیرند.
سرفصل دوره آموزش برنامه نویسی سالیدیتی
اصول اولیه توسعه قرارداد هوشمند: (۳ ساعت)
- آشنایی با برنامه نویسی مبتنی بر قرارداد (Contract Oriented Programming)
- ساختار یک قرارداد هوشمند
- معرفی زبان Solidity (یک زبان تورینگ کامل برای کدنویسی قرارداد هوشمند)
- آشنایی با محیط برنامه نویسی آنلاین Remix برای توسعه قرارداد هوشمند
- کامپایل اولین کد سالیدیتی
- ساختار کلی یک فایل سالیدیتی
- دیپلوی قرارداد هوشمند روی شبکه تست نت اتریوم
برنامه نویسی مقدماتی به زبان Solidity: (۱۵ ساعت)
- دیتا تایپ های سالیدیتی
- ساختارهای داده ای(متغیرها) در سالیدیتی
- معرفی انواع متغیرهای سالیدیتی
- سطوح دسترسی متغیرها در سالیدیتی
- scope ها در سالیدیتی
- Data Location ها در سالیدیتی
- مقادیر عددی در سالیدیتی
- Boolean در سالیدیتی
- Address ها در سالیدیتی
- انواع Address در اتریوم
- Enum / دیتا تایپ تعریف شده توسط کاربر
- BytesX
- آرایه ها در سالیدیتی
- String در سالیدیتی
- Mapping در سالیدیتی
- Struct در سالیدیتی
- Bytes
- سطوح دسترسی توابع در سالیدیتی
- تعریف تابع در سالیدیتی
- ۴ گونه از توابع در سالیدیتی
- Modifier و کاربرد آن در سالیدیتی
- انواع روش های دریافت خروجی از توابع سالیدیتی
- overload کردن توابع سالیدیتی
- memory و calldata
- Constructor در قراردادهای هوشمند
- Constant و Immutable
- GlobalVariable ها (دسترسی به اطلاعات بلاک، گس، حافظه کانترکت، اطلاعات تراکنش ها، timestamp و …)
- واحدهای زمانی سالیدیتی
- واحدهای پولی سالیدیتی
- Event ها در سالیدیتی
- ساختارهای شرطی سالیدیتی
- ساختارهای کنترلی و مدیریت حلقه ها
- مدیریت خطا توسط Require, Assert, Revert
- تبدیل نوع در سالیدیتی
- نحوه حذف عنصری خاص از آرایه
- پیاده سازی قابلیت پیمایش در Mapping
- آشنایی و کار با Balance اکانت ها و موجودی قرارداد هوشمند
- کار با توابع transfer و send و call جهت انتقال موجودی به یک اکانت دیگر
- توابع Fallback
- مدیریت پرداخت های اتر به یک قرارداد هوشمند
- شی گرایی در سالیدیتی (Object Oriented Programming)
- شروع ارث بری در سالیدیتی
- انواع ارث بری در سالیدیتی
- توابع Virtual
- بازنویسی یا Override کردن توابع سالیدیتی
- ارث بری Constructor ها در سالیدیتی
- ارث بری متغیرها در سالیدیتی
- polymorphism در سالیدیتی
- روش های ارتباط با قراردادهای هوشمند دیگر
- اینترفیس (Interface) در سالیدیتی
- کتابخانه (Library) در سالیدیتی
- شباهت و تفاوت کتابخانه و قرارداد
- از بین بردن قرارداد هوشمند
- آشنایی با کتابخانه های OpenZeppelin
- کار با کتابخانه های OpenZeppelin
- تولید اعداد تصادفی در سالیدیتی
برنامه نویسی پیشرفته در Solidity : (۶ ساعت)
- Storage Layout در سالیدیتی
- Function Selectors
- Function Signature / Function Body
- Call
- Static call
- Delegate call
- Factory Pattern
- آشنایی با Proxy Contract ها
- پیاده سازی قرارداد هوشمند به کمک Proxy
- Assembly در سالیدیتی
مدیریت دیتای خارج از زنجیره (off-chain) به کمک اوراکل ها (ChainLink, VRF, DataFeeds: (۲.۵ ساعت)
- آشنایی با مفهوم دیتای خارج از زنجیره (Off-Chain)
- آشنایی با اوراکل ها (دیتاسورس/ساختمان داده های شخص ثالث)
- مدیریت دیتای خارج از زنجیره با استفاده از Oracle ها در قرارداد هوشمند
- ChainLink
- DataFeeds
- تولید اعداد تصادفی در سالیدیتی با استفاده از اوراکل(VRF)
استانداردهای اتریوم: (۱ ساعت)
- بررسی استانداردهای مختلف در سالیدیتی
- آشنایی با استاندارد توکن ERC20
- پیاده سازی و توضیح توکن ERC20
نصب و آماده سازی ابزارهای توسعه بلاک چین: (۱ ساعت)
- Metamsk
- Node.js و npm
- VSCode
- آشنایی با فریمورک های برنامه نویسی سالیدیتی
- Hardhat
- Truffle
- Ganache
کار با ابزارهای توسعه بلاک چین: (۴ ساعت)
- آشنایی با ساختار Hardhat
- انواع بلاکچین ها و نحوه استفاده در Hardhat
- آشنایی با کتابخانه Ethers.js
- پیاده سازی و کامپایل توکن استاندارد ERC20 در Hardhat
- اسکریپت نویسی در Hardhat
- دیپلوی توکن استاندارد ERC20 با استفاده از Hardhat در شبکه Local
- دیپلوی توکن استاندارد ERC20 با استفاده از Hardhat در شبکه Testnet
- دیپلوی توکن استاندارد ERC20 با استفاده از Hardhat در شبکه MainNet
- ساختار مورد نیاز جهت ارتباط با قراردادهای هوشمند توسط Ethers
- ارتباط با قراردادهای هوشمند با استفاده از کتابخانه Ethers
- ادغام قراردادهای هوشمند
- وریفای قراردادهای هوشمند بر روی بلاکچین
- نصب و تنظیم Truffle
- آشنایی با ساختار Truffle
- پیاده سازی قرارداد هوشمند ToDo list در Truffle
- کامپایل و دیپلوی قرارداد هوشمند ToDo list در Truffle
- تنظیم بلاکچین لوکال ganache
- آشنایی با کتابخانه web3.js
- ارتباط با قرارداد هوشمند در Truffle با استفاده از کتابخانه Web3.js
تست نویسی در سالیدیتی: (۱.۵ ساعت)
- نصب و آشنایی با Mocha و Chai
- تست نویسی (Unit-Test) قراردادهای هوشمند به کمک ابزارهای مربوطه
بهینه سازی Gas در سالیدیتی: (۲ ساعت)
- مفهوم Gas و اهمیت مدیریت گس در قرارداد هوشمند
- بهینه سازی قرارداد هوشمند جهت کاهش هزینه GAS
- تکنیک Pack کردن متغیرها و سایر تکنیک ها …
امنیت قراردادهای هوشمند: (۱.۵ ساعت)
- بررسی موارد امنیتی در قراردادهای هوشمند
- بررسی برخی از حمله های امنیتی در قراردادهای هوشمند
NFT ها: (۲.۵ ساعت)
- آشنایی با استاندارد ERC721 – توکن غیر مثلی(NFT)
- پیاده سازی یک کالکشن NFT
- مشاهده NFT در مارکت پلیس
- IPFS چیست؟
- نصب و استفاده از IPFS Desktop
- کار با nft.storage
- آپلود فایل بر روی IPFS و بدست آوردن CID
- دسترسی به فایل های ذخیره شده روی IPFS
پیش نیاز دوره:
- دوره تحلیل فاندامنتال رایگان ارز دیجیتال آکادمی سیتکس
تعداد جلسات و ساعت آموزش:
- ۷۰ ساعت در قالب جلسات ۳ ساعته، ۲ جلسه در هفته
در دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp به سوالات زیر پاسخ داده خواهدشد:
- نقشه راه برنامهنویس حوزه بلاکچین و سالیدیتی به چه صورت خواهد بود؟
- چطور میتوان با استفاده از سالیدیتی، اپلیکیشنهای غیرمتمرکز ایجاد کرد؟
- چطور به راحتترین روش ممکن، به درک عمیقی از برنامهنویسی سالیدیتی برسیم؟
- راههای کسب درآمد از حوزه سالیدیتی و وب۳ چطور خواهد بود؟
- چطور پروژه موردنظر خود را در دنیای غیرمتمرکز پیادهسازی و اجرا کنیم
سؤالات متداول پیرامون دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp:
دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp توسط آکادمی سیتکس به صورت آنلاین و حضوری برگزار میگردد. برای شرکت در این دوره میتوانید از طریق سایت آکادمی ثبتنام کرده و یا برای مشاوره با شماره تلفن ۰۲۱۴۹۱۲۶ داخلی ۳۱۳ تماس حاصل بفرمایید.
افراد علاقهمند به گرفتن مشاوره برای شرکت در دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp ، میتوانند از طریق شماره تلفن ۰۲۱۴۹۱۲۶ داخلی ۳۱۳ با آکادمی سیتکس تماس حاصل فرمایند.
در زمان برگزاری دوره جامع برنامه نویسی سالیدیتی و توسعه Dapp، گروه پشتیبانی تشکیل خواهد شد و استاد مربوطه به تمام پرسشهای مطرح شده توسط دانشپذیران پاسخ خواهد داد.
برای دانلود فایل جزوه آموزش برنامه نویسی سالیدیتی ابتدا مشخصات خود را وارد کنید
پس از گذراندن دوره سالیدیتی، با شرکت در کارگاه زیر میتوانید یک پروژه واقعی را در دنیای بلاکچین پیادهسازی کنید:
طراحی و توسعه Dapp: (۲ ساعت)
- تعریف پروژه کلاسی
- مشخص کردن نیازمندی ها و قابلیت های DApp
- واسط کاربری (UI)
- لایه ادغام (Integration Layer)
- قرارداد هوشمند (Smart Contract)
- تکنولوژی ها و فریمورک ها مورد استفاده در توسعه DApp
کتابخانه Ethers.js (تعامل با بلاک چین و قرارداد هوشمند): (۲ ساعت)
- اتصال به بلاکچین با استفاده از Ethers
- دریافت اطلاعات بلاک
- دریافت اطلاعات تراکنش
- دریافت موجودی اکانت
- ساختار مورد نیاز جهت ارتباط با قراردادهای هوشمند توسط Ethers
- ارتباط با قراردادهای هوشمند با استفاده از کتابخانه Ethers
- دسترسی به event ها جهت بررسی رویدادها
- ساخت کیف پول اتریومی با استفاده از Ethers
- ساخت تراکنش و انتقال Ether به یک اکانت
- انتقال Ether به قرارداد هوشمند
رضا –
سلام
دوره خیلی مفید و پولسازی هست مرسی از آکادمی سیتکس