اتریوم و Solidity - راهنمای کامل برای توسعهدهندگان
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- زنجیره تأمین مواد غذایی - Dapps بلاکچینی در دنیای واقعی
- Dapps قرعهکشی
- توکن ERC20 (رمزارز)
- حسابرسی امنیتی توکن ERC20
- OpenZeppelin - قرارداد قابل ارتقا
- اتریوم
- Solidity - دوره کامل
- Remix - دوره کامل
- Truffle - دوره کامل
- Mocha و Chai - تست خودکار
- React JS و Next JS
- web3 JS
- Metamask - کیف پول اتریوم
- MyEtherWallet
- NPM (Node Package Manager)
- فولاستک - HTML ،CSS و Javascript
- ماینینگ، EVM و گس فی
- قراردادهای هوشمند
- کدنویسی (برنامهنویسی)
- Solc - کامپایلر Solidity
- Ganache - بلاکچین محلی اتریوم
- Infura
- HD Wallet Provider
- Slither
- Echidna
- Dapps (اپلیکیشنهای غیرمتمرکز)
پیشنیازهای دوره
- دانش پایه از Javascript و NPM
- یک دستگاه Mac و PC یا Linux
توضیحات دوره
- استفاده از قرارداد هوشمند برای ساخت اپلیکیشنهای آماده بلاکچین واقعی - زنجیره تأمین مواد غذایی
- Solidity دوره کامل - پوشش داده شده.
- Truffle - فریمورکی در سطح جهانی برای اتریوم
- توکن ERC20 (ارزهای دیجیتال)
- توکن ERC20 - حسابرسی و چکلیست امنیت
- OpenZeppelin - ارتقای قرارداد هوشمند
بهدلیل مزیتهای بالقوهای که بلاکچین میتواند به همراه داشته باشد، این فناوری بسیار محبوب شده و در سالهای اخیر به یکی از پرتقاضاترین فناوریها تبدیل شده است (و پیشبینی میشود در سالهای آینده نیز یکی از بزرگترین بازارها باشد).
شرکتهای بیشتری در این پایگاه داده شگفتانگیز و مشهور (بلاکچین) سرمایهگذاری کردهاند و همین موضوع باعث شده تقاضا برای توسعهدهندگان بلاکچین (و مهارتهای مرتبط) در چند سال گذشته در کشورهای مختلفی مانند آسیا و اروپا به شدت افزایش پیدا کند. به دلیل کمبود توسعهدهندگان بلاکچین، حقوق این توسعهدهندگان از بقیه که با فناوریهای دیگر کار میکنند بالاتر است.
چون تولید توسعهدهندهای که واقعاً بتواند به سرعت این موارد را درک کند، آسان و سریع نیست:
- بلاکچین چیست و چگونه کار میکند؟
- چگونه قرارداد هوشمند را با Solidity بهخوبی بنویسیم؟
- (چون به عنوان یک برنامهنویس، با یادگیری خوب زبان برنامهنویسی Solidity، میتوانید عملاً هر نوع اپلیکیشنی را با هر شرایطی ایجاد کنید.)
- چگونه قرارداد هوشمند را تست خودکار کنیم؟
- چگونه واقعاً اپلیکیشنهایی بسازیم که نیازهای صنایع مختلف را پشتیبانی کنند (مانند بازار غذایی، مراقبتهای بهداشتی، ارزهای دیجیتال و موارد دیگر)؟
- ارز دیجیتال (توکن) چیست و چگونه کار میکند؟
- چگونه قرارداد هوشمند توکن را طوری بنویسیم که واقعاً از قوانین استاندارد توکن ERC20 پیروی کند؟
- چگونه با انجام فرایند حسابرسی امنیتی و چکلیست، باگها، خطاها و آسیبپذیریهای توکن را پیدا کنیم؟
- چرا؟ چون منابع کامل و جامع در این زمینه بسیار کم هستند.
پس هدف دوره این است که قدمبهقدم از مبانی بسیار اولیه (remix ،solidity، قرارداد هوشمند و truffle) شما را همراهی کند تا بتوانید این موارد را بسازید:
- Dapp اختصاصی زنجیره تأمین مواد غذایی در دنیای واقعی که از طریق مرورگر وب قابل دسترسی باشد، به همراه طراحی زیبا برای بخش فرانتاند اپلیکیشن (که با React و Next JS و رابط کاربری سمانتیک React ساخته شده است).
- قرارداد هوشمند واقعی توکن اتریوم ERC20، با پیروی از حسابرسی امنیتی پایه و چکلیست - بنابراین مطمئن میشوید توکنهای شما قابلیتهایی داشته باشند که طبق قوانین استاندارد توکن ERC20 توصیه شدهاند.
فقط برای اطلاع شما، جای درستی آمدهاید. از 2019، 75% اعلام کردهاند که احتمال دارد در آینده برای کاربردهای تجاری از پلتفرم اتریوم (بلاکچینهای عمومی) استفاده کنند.
این دوره برای چه کسانی مناسب است؟
- برنامهنویسان یا مهندسانی که میخواهند با استفاده از اتریوم (پلتفرم مشهور بلاکچین عمومی غیرمتمرکز) Dapps بلاکچین عمومی بسازند.
اتریوم و Solidity - راهنمای کامل برای توسعهدهندگان
-
مقدمه دوره 03:43
-
چرا بلاکچین بسیار امن است؟ 01:57
-
چرا فناوری بلاکچین مهم است؟ 01:36
-
کاربردهای واقعی بلاکچین 02:15
-
تحلیل فرصتهای بازار بلاکچین 00:42
-
مقدمهای بر اتریوم 02:21
-
شبکه اتریوم 02:08
-
ماینینگ 01:49
-
دموی بلاکچین 17:00
-
کیف پول اتریوم 02:28
-
قرارداد هوشمند و Solidity 03:07
-
Remix - مقدمه 02:03
-
Remix - ایجاد قرارداد 08:24
-
کامپایلر Solidity و Bytecode و ABI 01:40
-
Remix - کامپایل کردن قرارداد 02:35
-
EVM (ماشین مجازی اتریوم) 00:59
-
انواع محیط توسعه Remix برای استقرار قرارداد هوشمند 01:18
-
Remix - استقرار قرارداد در محیط ماشین مجازی Javascript 07:28
-
Gas 06:28
-
Remix - تعامل با قرارداد مستقر شده 07:22
-
مقدمه و نصب Metamask 04:35
-
عبارات Mnemonic (Seed) 06:46
-
آدرس عمومی حساب اتریوم، کلید عمومی و کلید خصوصی 11:15
-
مدیریت حساب Metamask 02:41
-
Remix - استقرار قرارداد در محیط Web3 تزریق شده 05:41
-
Remix - ارسال اتر به قرارداد هوشمند 03:42
-
حساب اتریوم 04:31
-
Ethereum Ganache - بلاکچین شخصی 09:46
-
Remix - استقرار قرارداد در محیط Web3 Provider 05:34
-
متغیر چیست؟ 05:37
-
متغیرها - تایپهای متغیر 09:04
-
متغیرها - اسکوپ و مشاهدهپذیری 09:20
-
متغیرها - واحدها 01:50
-
متغیرها - متغیرها و توابع ویژه 10:42
-
متغیرها - نامهای متغیرها 02:45
-
بیت و بایت 07:05
-
استفاده از باینری در سیستم مجوز کاربران 04:06
-
تبدیل اعداد 02:06
-
چرا باید بدانید بیت (بایت) و هگزادسیمال چیست؟ 02:07
-
تایپهای مقدار چیست؟ 01:03
-
تایپهای مقدار - بولی 10:19
-
تایپهای مقدار - عدد صحیح 10:32
-
تایپهای مقدار - آدرس 03:41
-
تایپهای مقدار - رشته 01:26
-
تایپهای مقدار - Enums 08:08
-
تایپهای مقدار - بایتها 12:02
-
تابع چیست؟ 09:07
-
توابع - سینتکس 00:53
-
توابع - اجرای تابع 04:12
-
توابع - پارامترهای تابع و متغیرهای بازگشتی 03:32
-
توابع - اسکوپ و مشاهدهپذیری تابع 05:21
-
توابع - تایپها 05:21
-
توابع - تابع Fallback 03:20
-
توابع - Overloading تابع 01:32
-
توابع - مودیفایرها 04:45
-
توابع - توابع گلوبال 01:02
-
مدیریت خطا 07:07
-
قرارداد - ایجاد قرارداد 01:49
-
قرارداد - تابع Constructor 03:12
-
قرارداد - وراثت قرارداد 07:36
-
قرارداد - قرارداد انتزاعی 05:28
-
قرارداد - رابطها 04:34
-
حلقهها 19:17
-
تایپهای مرجع چه هستند؟ 08:42
-
تایپهای مرجع - آرایه 24:30
-
تایپهای مرجع - Struct 06:10
-
تایپهای مرجع - نقشه 13:53
-
تایپهای تبدیل 11:59
-
رویدادها 08:09
-
کتابخانهها 12:41
-
کدگذاری و کدگشایی ABI 12:52
-
هش کردن رمزنگاری 04:58
-
لوکیشن داده Storage و Memory 06:34
-
اسمبلی چیست؟ 01:20
-
اسمبلی - EVM چیست؟ 01:32
-
اسمبلی - چرا از اسمبلی استفاده کنیم؟ 03:16
-
اسمبلی - Opcode اسمبلی 01:23
-
اسمبلی - ایجاد اسمبلی 15:00
-
اسمبلی - معایب اسمبلی 01:37
-
مربوط به قرارداد 06:53
-
ایجاد فریمورک ساده اتریوم از ابتدا 09:10
-
انتخاب یک ویرایشگر 04:04
-
ایجاد قرارداد هوشمند قرعهکشی 29:07
-
تعامل با قرارداد هوشمند قرعهکشی در Remix 07:51
-
نصب کامپایلر Solidity 02:40
-
ایجاد فایل Javascript برای کامپایل کردن قرارداد هوشمند 22:34
-
تست عملکردی چیست؟ 03:06
-
نصب Mocha و Ganache-CLI 03:41
-
مستندسازی Mocha 02:04
-
ایجاد فایل تست Javascript 40:20
-
نصب HD Wallet Provider 01:59
-
ثبتنام در Infura 01:34
-
ایجاد فایل Javascript برای استقرار قرارداد هوشمند 13:30
-
ایجاد صفحات وب فرانتاند با استفاده از HTML 17:10
-
بستهبندی ماژولهای NPM در یک فایل Javascript 11:42
-
اجرای سرور سبک توسعه Node 04:56
-
یادگیری jQuery و تعبیه آن در یک صفحه وب 04:39
-
تعامل با قرارداد مستقر شده با استفاده از وب اپلیکیشنها - بخش 1 08:07
-
تعامل با قرارداد مستقر شده با استفاده از وب اپلیکیشنها - بخش 2 18:35
-
تعامل با قرارداد مستقر شده با استفاده از وب اپلیکیشنها - بخش 3 28:06
-
تعامل با قرارداد مستقر شده با استفاده از وب اپلیکیشنها - بخش 4 19:27
-
Truffle چیست؟ 01:16
-
Truffle - نصب 02:26
-
Truffle - ایجاد یک پروژه 08:11
-
Truffle - کامپایل کردن قرارداد هوشمند 03:42
-
Truffle - استقرار قرارداد هوشمند در شبکه تست محلی Ganache 07:31
-
Truffle - استقرار قرارداد هوشمند در شبکه تست Topsten 12:39
-
Truffle - تعامل با قرارداد مستقرشده از طریق Web Dapps در مرورگر 14:28
-
Truffle - توسعه و کنسول 05:59
-
Truffle - تعامل با قرارداد هوشمند در کنسول 19:00
-
Truffle - تست 14:02
-
Wallmart بلاکچین را برای بهبود ایمنی مواد غذایی به زنجیره تأمین مواد غذایی معرفی میکند 13:16
-
ایجاد قرارداد هوشمند زنجیره تأمین مواد غذایی 29:02
-
تحلیل و نظارت بر مصرف Gas 18:13
-
دریافت آدرس قراردادهای مستقر شده با استفاده از کد 11:31
-
اصلاح قرارداد هوشمند زنجیره تأمین مواد غذایی برای جلوگیری از Stack Too Deep 07:09
-
React - مقدمه 04:38
-
React - نصب 09:02
-
React - محیطهای آزمایشی آنلاین 02:43
-
React - JSX (عنصر) 06:36
-
React - رندرینگ عناصر 01:50
-
React - کامپوننت و ویژگیها 07:26
-
React - بررسی State 04:52
-
React - چرخه عمر کامپوننت 07:03
-
React - مدیریت رویدادها 06:35
-
React - رندرینگ شرطی 02:20
-
React - لیست و آرایه 18:23
-
Next JS - نصب 03:49
-
Next JS - صفحات 02:02
-
راهاندازی پوشه پروژه زنجیره تأمین مواد غذایی با فریمورک Truffle 03:22
-
نصب Next.js و وابستگیها 04:14
-
نصب فریمورک توسعه فرانتاند React 01:29
-
راهاندازی مسیریابی در Next.js (مسیرهای پویا) 08:48
-
ایجاد صفحه اصلی 03:05
-
ایجاد کامپوننت طرحبندی 08:04
-
ایجاد کامپوننت هدر 09:24
-
ایجاد فرم برای افزودن زنجیره تأمین جدید 16:24
-
استقرار قرارداد هوشمند کارخانه زنجیره تأمین 19:50
-
ایجاد متد onSubmit برای مدیریت رویداد Submit 18:34
-
افزودن داده جدید زنجیره تأمین 06:22
-
لیستبندی (نمایش) همه زنجیرههای تأمین 27:29
-
نمایش اطلاعات زنجیره تأمین 17:54
-
ایجاد فرم برای افزودن زنجیره 10:54
-
ایجاد متد Submit برای مدیریت رویداد Submit 08:45
-
افزودن داده زنجیره 08:51
-
ایجاد فیلد فرم Made With 15:09
-
افزودن داده زنجیره تولید 11:13
-
ایجاد لینک Chain Journey 38:27
-
ایجاد Chain Journey با اطلاعات کامل 28:05
-
استفاده از Modal در رابط کاربری سمانتیک React 10:50
-
ایجاد عناصر HTML تاریخ 04:25
-
ایجاد عناصر HTML برای Made With 13:29
-
ایجاد عناصر HTML اطلاعات شرکت 10:59
-
درج داده زنجیره فروشگاه 03:11
-
استایلدهی طراحی برای سازگاری با دستگاههای موبایل 09:08
-
نکات و توصیهها 01:32
-
توکن (ارز دیجیتال) چیست؟ 03:13
-
توابع و رویدادهای توکن ERC-20 01:08
-
ایجاد رابط قرارداد توکن 03:07
-
ایجاد قرارداد توکن 01:53
-
افزودن اطلاعات توکن 02:31
-
افزودن Total Supply توکن 02:18
-
افزودن تابع ()balanceOf 03:57
-
چرا میتوان تابع را با متغیر State جایگزین کرد؟ 01:14
-
افزودن تابع ()transfer 03:40
-
تست متدهای ()transfer و ()balancesOf 03:41
-
توضیح متدهای ()approve و ()allowance و ()transferFrom 01:25
-
ایجاد تابع ()approve 04:33
-
ایجاد تابع ()allowance 02:11
-
ایجاد تابع ()transferFrom 04:32
-
تست متدهای ()approve و ()allowance 06:19
-
تست متد ()transferFrom 02:34
-
انتقال توکنها از حساب spender 02:18
-
مراحل لازم برای ارسال توکن بین کیف پولها 01:36
-
ایجاد و دسترسی به MyEtherWallet 03:09
-
کیف پول Metamask 00:41
-
استقرار قرارداد در شبکه تست Rinkeby اتریوم 01:17
-
افزودن توکن در کیف پول Metamask 01:33
-
ارسال توکن از حساب Metamask به حساب MyEtherWallet 03:21
-
ارسال توکن از حساب MyEtherWallet به حساب کیف پول Metamask 02:08
-
از بین بردن یا سوزاندن توکن 07:44
-
قابل پاز کردن قرارداد توکن 07:08
-
مقدمهای بر حسابرسی امنیتی توکن (یا چکلیست) 01:38
-
ایجاد پروژه با Truffle 01:58
-
نصب Slither و Echidna 02:40
-
بررسی انطباق ERC با slither-check-erc 04:11
-
تولید و اجرای تست واحد با slither-prop 08:45
-
فعالسازی انتقال توکنها به آدرس دیگر با استفاده از متد ()transferFrom 12:48
-
استفاده از Echidna برای اجرای Property Test 02:20
-
جلوگیری از شرایط رقابت 14:55
-
نکات نهایی برای امنیت توکن 02:33
-
OpenZeppelin چیست؟ 00:37
-
چرا ارتقای قرارداد هوشمند مهم است؟ 01:35
-
راهاندازی پوشه پروژه و نصب پلاگین ارتقای Truffle 01:11
-
ایجاد قرارداد قابل ارتقا (یا نسخه 1 قرارداد) 01:21
-
ایجاد فایل مهاجرت (یا اسکریپت استقرار) با استفاده از متد ()deployProxy 02:38
-
تست خودکار قرارداد قابل ارتقا 04:46
-
استقرار قرارداد در شبکه تست اتریوم Rinkeby 03:05
-
ارتقای قرارداد به نسخه 2 03:33
-
ایجاد اسکریپت استقرار برای استقرار قرارداد قابل ارتقا 01:29
-
استقرار و تعامل با نسخه جدید یک قرارداد 01:19
مشخصات آموزش
اتریوم و Solidity - راهنمای کامل برای توسعهدهندگان
- تاریخ به روز رسانی: 1405/04/12
- سطح دوره:Alls
- تعداد درس:201
- مدت زمان :23:56:17
- حجم :13.15GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy