نوروز مبارک

نوروز مبارک

🔥 جشنواره نوروزی آموزش با ۷۰٪ تخفیف ویژه! 🎉

با آغاز سال نو، فرصتی استثنایی برای یادگیری فراهم شده است! 🌸

🚀 چرا نباید این فرصت را از دست داد؟
✅ دوره‌های متنوع و کاربردی
✅ تدریس توسط اساتید مجرب
✅ یادگیری در هر زمان و هر مکان

📌 همین حالا از این تخفیف فوق‌العاده بهره‌مند شوید! فرصت محدود است!

 

قیمت این دوره: 850,000 255,000 تومان
  • مدرس دوره : بهادر قدم خیر
  • تعداد ویدیوها : 54 ویدیو
  • مدت زمان دوره : 9:1:00
  • سطح دوره : پیشرفته
  • وضعیت دوره : به اتمام رسیده
  • تاریخ آخرین بروزرسانی : 1402/04/21
ثبتـــ نام در این دوره ثبت نام در دوره
آموزش پیشرفته برنامه نویسی سالیدیتی

آموزش پیشرفته برنامه نویسی سالیدیتی

توضیحات دوره:

اگه میخواین تبدیل به یه برنامه نویس سالیدیتی بشین،

و یا حتی میخواین از دنیای 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

 



پیش نیاز های دوره :

  1. آموزش مقدماتی برنامه نویسی سالیدیتی

فهرستـــ ویدیوها

مدت زمان دوره 9:1:00
00:00
00:00
  • با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.

1
  • معرفی دوره

00:02:59

معرفی دوره

2
  • Type conversion - numbers - بخش اول

00:12:12

در این قسمت، نحوه تبدیل انواع داده ای از نوع عدد را یاد خواهیم گرفت.

3
  • Type conversion - numbers - بخش دوم

00:11:34

در این قسمت، ادامه نحوه تبدیل انواع داده ای(اعداد) را یاد خواهیم گرفت.

4
  • Type conversion - bytesN- بخش اول

00:06:51

در این قسمت، نحوه تبدیل انواع داده ای(بایت از نوع value type یا به عبارتی fixed-bytes array) را یاد خواهیم گرفت.

5
  • Type conversion - bytesN- بخش دوم

00:08:13

در این قسمت، نحوه تبدیل انواع داده ای(بایت از نوع value type یا به عبارتی fixed-bytes array) را به اعداد و بالعکس یاد خواهیم گرفت.

6
  • Type conversion - bytesN- بخش سوم

00:05:54

در این قسمت، نحوه تبدیل انواع داده ای(بایت از نوع value type یا به عبارتی fixed-bytes array) را به bytes(dynamically-size byte array) و بالعکس یاد خواهیم گرفت.

7
  • Type conversion - bytes-(dynamically-bytes array)

00:07:47

در این قسمت، نحوه تبدیل انواع داده ای(بایت از نوع value type یا به عبارتی fixed-bytes array) را به bytes(dynamically-size byte array) و بالعکس یاد خواهیم گرفت.

8
  • Type conversion - address

00:11:05

در این جلسه، تبدیل نوع متغیر آدرس را بررسی خواهیم کرد.

9
  • نحوه حذف المان آرایه

00:13:49

در این جلسه، نحوه حذف کردن یک عنصر از آرایه را در سالیدیتی یاد خواهیم گرفت.

10
  • ساختار حافظه در سالیدیتی - value types

00:16:17

از این قسمت، مفاهیم بسیار مهمی در خصوص ساختار حافظه در سالیدیتی را شروع کرده و یاد میگیریم. در جلسه پیش رو، با storage layout در متغیرهای از نوع value آشنا میشویم.

11
  • ساختار حافظه در سالیدیتی - fixed-array

00:05:13

در این جلسه، با storage layout در نوع متغیر fixed-array آشنا میشویم.

12
  • ساختار حافظه در سالیدیتی - dynamic-array

00:12:28

در این جلسه، با storage layout در متغیرهای dynamic-array که از reference type ها هستند آشنا میشویم.

13
  • اصلاحیه بخش ساختار حافظه در سالیدیتی - dynamic-array

00:02:34

این جلسه، یک اصلاحیه کوچک برای جلسه پیش میباشد.

14
  • ساختار حافظه در سالیدیتی - String

00:08:25

در این جلسه، با storage layout در متغیرهای string که از reference type ها هستند آشنا میشویم.

15
  • بخش 2 - ساختار حافظه در سالیدیتی - string

00:08:41

در این جلسه، با ادامه storage layout در متغیرهای string که از reference type ها هستند آشنا میشویم.

16
  • ساختار حافظه در سالیدیتی - Mapping

00:08:35

در این جلسه با ساختار حافظه در نوع متغیر Mapping آشنا میشویم و میفهمیم که هر مقدار در mapping در کدام خانه حافظه قرار میگیرد.

17
  • شروع ارث بری

00:07:01

از این جلسه مباحث در خصوص ارث بری در سالیدیتی را با هم یاد خواهیم گرفت.

18
  • انواع ارث بری در سالیدیتی

00:03:20

در این جلسه، با انواع ارث بری در سالیدیتی آشنا خواهیم شد. پیشنهاد میکنم ابتدا این قسمت را ببینید و بعد قسمت قبلی آموزش را مشاهده کنید.

19
  • ارث بری چند سطحی

00:04:57

در این جلسه، ارث بری چند سطحی یا Multilevel inheritance را یاد خواهیم گرفت.

20
  • virtual و override در ارث بری

00:05:45

در این جلسه، به بررسی override و virtual در ارث بری در قراردادهای هوشمند سالیدیتی میپردازیم.

21
  • ارث بری سلسله مراتبی

00:05:37

در این جلسه، ارث بری سلسله مراتبی در سالیدیتی را یاد خواهیم گرفت.

22
  • ارث بری چندگانه

00:11:08

در این جلسه، ارث بری چندگانه یا multiple inheritance را در سالیدیتی یاد خواهیم گرفت.

23
  • کلمه کلیدی super

00:03:28

در این جلسه، با کلمه کلیدی super در ارث بری های در سالیدیتی آشنا میشویم.

24
  • مقداردهی به constructor در ارث بری

00:07:51

در این جلسه نحوه مقداردهی به constructor ها را در ارث بری سالیدیتی یاد خواهیم گرفت.

25
  • override کردن متغیرها

00:04:24

در این جلسه، تحوه override کردن state variable ها را در ارث بری سالیدیتی یاد خواهیم گرفت.

26
  • interface در سالیدیتی

00:13:08

در این جلسه، نحوه ارتباط بین اسمارت کانترکت های سالیدیتی را با استفاده از interface یاد خواهیم گرفت.

27
  • توابع Fallback

00:10:54

در این جلسه، توابع Fallback را در سالیدیتی یاد خواهیم گرفت.

28
  • library در سالیدیتی

00:10:33

در این جلسه، library را در سالیدیتی یاد خواهیم گرفت.

29
  • آشنایی با کتابخانه openzeppelin

00:03:38

در این جلسه، با OpenZeppelin آشنا میشویم.

30
  • استفاده از کتابخانه ownable

00:09:07

در این جلسه، با کتابخانه ownable از OpenZeppelin آشنا خواهیم شد.

31
  • self destruct

00:04:34

در این جلسه با قابلیتی تحت عنوان self destruct در سالیدیتی آشنا خواهیم شد.

32
  • آشنایی با ABI

00:04:51

در این جلسه با ABI و کاربردش آشنا میشویم.

33
  • encode و decode در abi

00:16:15

در این جلسه، با متدهای encode و decode در abi آشنا خواهیم شد.

34
  • توابع - مفاهیم بیشتر

00:08:34

در این جلسه در خصوص مفاهیمی از توابع سالیدیتی صحبت خواهیم کرد.

35
  • ادامه مبحث توابع

00:09:46

ادامه مباحث توابع جلسه قبلی

36
  • new در سالیدیتی

00:12:04

در این جلسه با new در سالیدیتی آشنا میشویم.

37
  • call در سالیدیتی

00:12:02

در این جلسه نحوه استفاده از call در سالیدیتی را یاد خواهیم گرفت.

38
  • staticcall در سالیدیتی

00:06:05

در این جلسه، با staticcall در سالیدیتی آشنا میشویم.

39
  • delegatecall در سالیدیتی

00:13:09

در این جلسه، delegatecall در سالیدیتی را یاد خواهیم گرفت.

40
  • آشنایی با متغیرهای رمزنگاری سالیدیتی

00:15:30

در این جلسه با متغیرهای رمزنگاری سالیدیتی آشنا خواهیم شد.

41
  • قرارداد هوشمند انتخابات - بخش اول

00:12:43

در این جلسه شروع به نوشتن یک قرارداد هوشمند برای برگزاری انتخابات(یا رای گیری) خواهیم کرد.

42
  • قرارداد هوشمند انتخابات - بخش دوم

00:13:40

در این جلسه به ادامه نوشتن یک قرارداد هوشمند برای برگزاری انتخابات(یا رای گیری) خواهیم پرداخت.

43
  • نوشتن قرارداد هوشمند انتخابات - بخش سوم

00:19:27

در این جلسه به ادامه نوشتن یک قرارداد هوشمند برای برگزاری انتخابات(یا رای گیری) خواهیم پرداخت. جلسه پایانی نوشتن کدها میباشد. در جلسه بعدی به بررسی اجرای کانترکت ساخته شده خواهیم پرداخت.

44
  • نوشتن قرارداد هوشمند انتخابات - بخش چهارم

00:08:26

در این جلسه به بررسی روش اول برای تبدیل string به bytes32 و سپس دیپلوی کردن قرارداد خواهیم پرداخت.

45
  • نوشتن قرارداد هوشمند انتخابات - بخش پنجم

00:11:03

در این جلسه به بررسی روش دوم برای تبدیل string به bytes32 و سپس دیپلوی کردن قرارداد خواهیم پرداخت.

46
  • اجرای قرارداد هوشمند انتخابات

00:13:15

در این جلسه قرارداد را دیپلوی کرده و کارکرد آن را یاد خواهیم گرفت.

47
  • قرارداد هوشمند توکن استاندارد ERC20 - بخش اول

00:18:28

در این بخش، به بررسی قرارداد هوشمند توکن استاندارد ERC20 خواهیم پرداخت.

48
  • قرارداد هوشمند توکن استاندارد ERC20 - بخش دوم

00:17:16

در این جلسه، یک توکن استاندارد ERC20 را ساخته و دیپلوی میکنیم.

49
  • ساخت NFT - بخش اول

00:15:37

ساخت NFT - بخش اول - قرارداد ساخت NFT

50
  • ساخت NFT - بخش دوم

00:13:40

ساخت NFT - بخش دوم- metadata

51
  • ساخت NFT - بخش سوم

00:09:16

ساخت NFT - بخش سوم - دیپلوی و مشاهده در NFTmarketplace

52
  • ساخت NFT - بخش چهارم - کالکشن

00:12:18

ساخت کالکشن NFT

53
  • قرارداد هوشمند Todo - بخش اول

00:21:50

در این قسمت قرارداد هوشمند مربوط به Todolist را مینویسیم.

54
  • قرارداد هوشمند Todo - بخش دوم

00:07:55

در این بخش، قرارداد Todo را دیپلوی و اجرا خواهیم کرد.

دوره های دیگر مدرس

مشاهده همه دوره ها

نظرات کاربران در رابطه با این دوره

لطفا سوالات خود را راجع به این آموزش در این بخش پرسش و پاسخ مطرح کنید به سوالات در قسمت نظرات پاسخ داده نخواهد شد و آن نظر حذف میشود.
جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .

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

سلام استاد عزیز 

من این سوال را دوباره در  در عمومی این سوال رو میفرستم

ولی هنوز جوابی از شما به این سوال داده نشده

ممنونم از دوره ای برگذار کردین

برای شروع دوره با یه تحقق بیشتر سایت ها اشاره به این دارن که داشتن دانش برنامه نویسی و بلد بودن اونها پیش نیاز وارد شدن به برنامه نویسی بلک چین هست

مثلاً یادگیری،جاوا اسکریپت ،بوت استرپ و ......

یا گاهی در رابطه با انواع حوزه های برنامه نویسی بلاک چین صحبت کردن 

فارغ از این که من واقعا صحت گفته سایت های دیگه رو نمیدونم

اگر امکان داره،ممنون میشم یه توضیحی مانند نقشه راه یادگیری تا رساندن دانش های آموخته شده به درآمد زایی در فایل دوره اضافه بشه تا بتونیم با چشم اندازه بهتری اقدام به یادگیری کنیم.

مخصوصاً حوزه های مختلف برنامه نویسی ،مثلا مثل وب۲ ،حوزه های فرانت اند،و بک اند داره و کلا به چه صورت هست.

امیرزبیر سهامی جو

امیرزبیر سهامی جو

ارسال شده در 1402/01/15

سلام استاد عزیز ممنون از پاسخ تون همانطور که فرمودین در عمومی این سوال رو میفرستم

ممنونم از دوره ای برگذار کردین

برای شروع دوره با یه تحقق بیشتر سایت ها اشاره به این دارن که داشتن دانش برنامه نویسی و بلد بودن اونها پیش نیاز وارد شدن به برنامه نویسی بلک چین هست

مثلاً یادگیری،جاوا اسکریپت ،بوت استرپ و ......

یا گاهی در رابطه با انواع حوزه های برنامه نویسی بلاک چین صحبت کردن 

فارغ از این که من واقعا صحت گفته سایت های دیگه رو نمیدونم

اگر امکان داره،ممنون میشم یه توضیحی مانند نقشه راه یادگیری تا رساندن دانش های آموخته شده به درآمد زایی در فایل دوره اضافه بشه تا بتونیم با چشم اندازه بهتری اقدام به یادگیری کنیم.

مخصوصاً حوزه های مختلف برنامه نویسی ،مثلا مثل وب۲ ،حوزه های فرانت اند،و بک اند داره و کلا به چه صورت هست.