
آموزش پیشرفته برنامه نویسی سالیدیتی
توضیحات دوره:
اگه میخواین تبدیل به یه برنامه نویس سالیدیتی بشین،
و یا حتی میخواین از دنیای web2 وارد فضای جذاب و آینده دار web3 بشید، حتماً حتماً باید این دوره رو مشاهده کنین!
این دوره ادامه دوره مقدماتی برنامه نویسی سالیدیتی هستش و مباحث از سطح متوسط به بالا توی سالیدیتی رو در اینجا آموزش دادیم.
مباحثی که تو این دوره مطرح شدند از جمله مسائل بسیار مهم توی حوزه برنامه نویسی سالیدیتی هستن و با یادگیری اونها سطح شما توی برنامه نویسی سالیدیتی خیلی بالاتر خواهد رفت.
به عنوان یه برنامه نویس سالیدیتی حتماً حتماً باید مفاهیم و نکاتی که در طول این دوره مطرح میکنیم رو یاد بگیرین و تمرین کنین.
در نهایت تو بخش های پایانی دوره چندتا قرارداد هوشمند مختلف رو پیاده سازی کرده ایم که حسابی به درک و یادگیریتون توی مباحث کاربردی برنامه نویسی سالیدیتی براتون مفیدن.
ضمناً این رو هم یواشکی بهتون بگم: مفاهیم این دوره رو خوب یاد بگیرین که بر اساسشون قراره بعداً چیزای خفن تری یاد بگیریم 😉
تو دوره منتظرتونم 😊
سرفصل های دوره :
Type conversion |
نحوه حذف یک عنصر از آرایه |
Iterable mapping |
شروع مباحث ارث بری |
Single inheritance |
Override و virtual |
Multilevel inheritance |
Hierarchical inheritance |
Multiple inheritance |
Polymorphism |
ارث بری constructorها |
Fallback & receive |
Interface |
فراخوانی سایر اسمارت کانترکت ها |
Library |
شروع کار با کتابخانه پرکاربرد OpenZeppelin |
کانترکت owner |
ایجاد سطوح دسترسی در اسمارت کانترکت |
ABI |
متغیرهای سراسری رمزنگاری در سالیدیتی |
از بین بردن(حذف) اسمارت کانترکت |
مفاهیم بنیادی functionها |
New in contracts |
Call |
delegateCall |
پیاده سازی قرارداد هوشمند ToDo list |
پیاده سازی قرارداد هوشمند انتخابات |
پیاده سازی قرارداد هوشمند پیمانکاری(مثلاً ارتباط بین کارفرما و فریلنسر) |
نحوه ساخت یک توکن استاندارد ERC20 |
نحوه ساخت یک NFT |
نظرات کاربران در رابطه با این دوره
mahanmhmdy345
ارسال شده در 1403/10/05مطالب بسیار مهم و کاربردی پوشش داده شده و نحوه تدریس بسیار قابل فهم بود. باتشکر از آقای قدم خیر
hossein51
ارسال شده در 1402/06/14با عرض سلام و خسته نباشید .
می خواستم بدانم سرفصلهای ذیل که در آموزش سالیدیتی پیشرفته مطرح شده دقیقا در کدام پروژه ها کاربرد دارد . و آیابرای کد نویسی توکن با استاندارد ERC20 دانستن آنها الزامی است . 1 – conversion ها 2 – ساختار حافظه در سالیدیتی 3 – encode , decode در abi 4 – روشهای بدست آوردن امضای توابع
و سوال دیگر اینکه آیا با نوشتن کانترکتی با متد interface می توان به کانترکت توکنهای دیپلوی شده روی مثلا مین نت بایننس اسمارت چین متصل شد و روی آنها تغییراتی اعمال کرد یعنی مثلا توتال ساپلای آنرا تغییر داد یا مقداری از توکنهای آنرا به آدرس دلخواه ارسال کرد یا آنر هک کرد . در کل منظور از ارتباط با اسمارت کانترکت دیگر چه اسمارت کانترکتهایی می باشد .
بهادر قدم خیر (مدرس)
ارسال شده در 1402/06/21سلام خدمت شما
کاربرد مواردی که عنوان کردیم در جاهای مختلف هستش. بستگی داره به کاری که بخواد انجام بشه.
اما توی تمام پروژه هایی که قراردادهای هوشمند دارند قابل استفاده هستش و داره استفاده هم میشه.
برای نوشتن توکن استاندارد ERC20 ضرورتی نداره همه موارد رو بلد باشین، اما هر چقدر که قرار باشه اون توکن پیشرفته تر باشه و قابلیت های بیشتری داشته باشه، طبیعتاً نیاز پیدا میکنین به یک سری از مواردی که مطرح کردیم توی دوره.
conversion ها که برای تبدیلات استفاده میشه و طبیعیه که بگیم هروقت خواستین یک تایپ رو به تایپ دیگه تبدیل کنین باید ازش استفاده کنین.
ساختار حافظه، درک این رو میده بهتون که داره چه اتفاقی میفته توی کانترکت، و همینطور وقتی میخواین عملیات خوندن یا نوشتن رو انجام بدین باید چیکار کنین.
encode و decode هم در زمانی که بخواین بهینه سازی کانترکت رو انجام بدین خیلی به کارتون میاد. و البته یک سری کارهای پیشرفته تر که یه اشاره هایی رو توی دوره کردیم تا اونجا که یادمه.
بحث امضای توابع هم برای زمانی که کدهای کانترکتی رو که بخوایم باهاش ارتباط برقرار کنیم رو در اختیار نداشته باشیم، مفیده و میتونیم باهاش ارتباط مورد نظرمون رو برقرار کنیم.
در خصوص سوال بعدیتون:
بله میشه متصل شد به کدهایی که مثلاً روی شبکه اسمارت چین بایننس هستش و تغییرات رو هم میشه اعمال کرد، اما بحث تغییرات، بحث هک نیست. تغییراتی که میشه اعمال کرد در چارچوب مجوزهای شما خواهد بود. ینی مثلاً اگر مجوز تغییر رو داشته باشید قابل انجام هستش، اما اگر مجوز تغییر نداشته باشین طبیعتاً نمیتونین.
و در نهایت، منظور از ارتباط با اسمارت کانترکت دیگه، هر اسمارت کانترکتی هستش که بخواین.
امیدوارم جواب سوالاتتون رو گرفته باشین.
بازم موردی بود در خدمتتون هستم.
ilmaz
ارسال شده در 1402/04/02با سلام و احترام
آیا در این دوره کار با NFT ها کامل کاور میشه؟
باتشکر
بهادر قدم خیر (مدرس)
ارسال شده در 1402/04/02سلام خدمت شما دوست عزیز
نمیدونم منظورتون از کاور کردن کامل کار با NFTها چه مواردی هستش، اما در خصوص کاری که توی این دوره در خصوص NFT انجام میشه به این صورت هستش:
تو این دوره، با سالیدیتی و موارد مورد نیاز برای ساخت NFT، عملیات ساخت nft رو انجام میدیم.
امیدوارم براتون مفید باشه دوره ها
با احترام
بهادر قدم خیر
ارسال شده در 1402/01/17سلام خدمت شما جناب سهامی جو عزیز
مرسی از اینکه لطف کردین و سوال رو بصورت عمومی مطرح فرمودین
چون میدونم قطعاً این دغدغه و سوال خیلی از دوستانی هستش که میخوان وارد مسیر برنامه نویسی حوزه بلاکچین بشن.
اول از همه آب پاکی رو بخوام بریزم رو دست دوستان، باید بگم هیچ الزامی به داشتن دانش برنامه نویسی قبلی نیست. اما اگر دانش برنامه نویسی قبلی داشته باشین(مخصوصاً روی جاوا اسکریپت) خیلی خیلی بهتون تو مسیر پیشرفت کمک میکنه توی این حوزه و با سرعت بالاتری میتونین توش پیشرفت کنین.
با توجه به اینکه شاخه خیلی گستره ای هستش حوزه بلاکچین، موارد مختلفی رو در بر میگیره، از جمله قراردادهای هوشمند که توی دوره های پیش رو راجع بهشون داریم صحبت میکنیم. از جمله مبانی برنامه نویسی، و خیلی مباحث دیگه.
اونقدر دنیای وب3 گسترده اس که واقعاً نمیشه براش انتهایی رو در حال حاضر متصور باشیم.
بیشتر پیاده سازی هایی که توی نرم افزارهای این حوزه داره صورت میگیره با جاوااسکریپت(و کتابخونه هاش مخصوصاً ری اکت هستش در حال حاضر) و همینطور مقداری هم پایتون کم کم داره میاد جلو توش. اما بقیه زبان ها اونقدر پر استفاده نیستن توی این حوزه(اگر چه که میشه ازشون تو این حوزه استفاده کرد)
شما کلاً 2 پایه کلی دارین اینجا: بک اند - فرانت اند
با توجه به اینکه بخواین چیکار کنین یا تمایل و علاقه تون چی باشه مسیرتون تا حدی متفاوت میتونه باشه.
اما به عنوان یک مسئله مهم باید این رو عرض کنم که شما سالیدیتی رو مثل بک اند باید در نظر بگیرین. ینی با وجود سالیدیتی، الزامی به استفاده از سایر بک اند ها برای برنامه تون نیست(هرچند که میتونین بک اند جداگونه ای هم برای خودتون ایجاد و استفاده کنین در کنار سالیدیتی)
در نهایت برای اینکه خیلی طولانی و خسته کننده نشن حرفام، تشکر کنم از پیشنهادی که دادین، در خصوص پیشنهادتون از توضیح نقشه راه تا رسوندن دانش های آموخته شده به درآمد، حتماً نهایت سعیم رو میکنم که علیرغم فشرده بودن کارها و کمبود وقت، محتوای مهمی و پر اطلاعاتی رو آماده کنم و در اختیار شما و سایر دوستان قرار بدم که چشم اندازتون خیلی بهتر بشه در این رابطه.
سپاس فراوان از همراهیتون
امیرزبیر سهامی جو
ارسال شده در 1402/01/17سلام استاد عزیز
من این سوال را دوباره در در عمومی این سوال رو میفرستم
ولی هنوز جوابی از شما به این سوال داده نشده
ممنونم از دوره ای برگذار کردین
برای شروع دوره با یه تحقق بیشتر سایت ها اشاره به این دارن که داشتن دانش برنامه نویسی و بلد بودن اونها پیش نیاز وارد شدن به برنامه نویسی بلک چین هست
مثلاً یادگیری،جاوا اسکریپت ،بوت استرپ و ......
یا گاهی در رابطه با انواع حوزه های برنامه نویسی بلاک چین صحبت کردن
فارغ از این که من واقعا صحت گفته سایت های دیگه رو نمیدونم
اگر امکان داره،ممنون میشم یه توضیحی مانند نقشه راه یادگیری تا رساندن دانش های آموخته شده به درآمد زایی در فایل دوره اضافه بشه تا بتونیم با چشم اندازه بهتری اقدام به یادگیری کنیم.
مخصوصاً حوزه های مختلف برنامه نویسی ،مثلا مثل وب۲ ،حوزه های فرانت اند،و بک اند داره و کلا به چه صورت هست.