آموزش Ethereum and Solidity: راهنمای کامل توسعه دهندگان

Ethereum and Solidity: The Complete Developer's Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: از Ethereum، Solidity و قراردادهای هوشمند برای ساخت برنامه‌های آماده تولید بر اساس بلاک چین استفاده کنید. هدف و قابلیت های اتریوم و Solidity استفاده از آخرین نسخه ابزارهای توسعه اتریوم (Web3 v1.0) برای درک اینکه بلاک چین و استخراج چیست به مثال های عملی مراجعه کنید

قراردادهای هوشمند؟ آنها اینجا هستند. بلاک چین اتریوم؟ تحت پوشش. استحکام؟ بله!

نمی توان آن را دست کم گرفت: فناوری اتریوم و بلاک چین مخرب ترین نیرو در سال های اخیر است. شرکت‌ها نمی‌توانند توسعه‌دهندگانی را استخدام کنند که فناوری‌های بلاک چین را با سرعت کافی درک کنند، اما تعداد کمی از منابع منتشر شده است که به شما کمک می‌کند تا واقعاً بفهمید که زنجیره‌های بلوکی برای چه مواردی استفاده می‌شوند، چه رسد به اینکه برنامه‌هایی با آنها بسازید. هدف این دوره این است: بهترین منبع آنلاین برای یادگیری در مورد اتریوم، بلاک چین و نحوه ساخت اپلیکیشن با این فناوری جدید.

جامعه توسعه هنوز در حال یافتن بهترین راه برای استفاده از اتریوم در ایجاد برنامه‌های جدید و هیجان‌انگیز است. من زمان زیادی را صرف تحقیق و ایجاد بهترین روش برای رابط با اتریوم از جاوا اسکریپت کردم. من نمی توانم آن را به اندازه کافی اغراق کنم. این دوره بهترین و آسان‌ترین الگوهای تکرارپذیر را برای ایجاد برنامه‌های آماده تولید با اتریوم به شما نشان می‌دهد.


از چه ابزارها و کتابخانه هایی استفاده می شود؟

اکوسیستم فناوری اتریوم دائما در حال تغییر است. فریب دوره‌های دیگر را نخورید که به نحوه یادگیری چندین کتابخانه مختلف اشاره می‌کنند! هر کتابخانه ای که با اتریوم استفاده می کنید تقریباً هر هفته خراب می شود و منسوخ می شود! در عوض، این دوره به شما می‌آموزد که چگونه بسته دیگ بخاری خود را برای توسعه، کامپایل و آزمایش قراردادهای هوشمند جمع‌آوری کنید. با یادگیری فناوری‌های اصلی، بدون توجه به اینکه اکوسیستم چگونه تغییر می‌کند، آماده خواهید بود که با اتریوم سازگار شوید.

اتریوم چیست؟

اتریوم یک ارز دیجیتال بسیار شبیه بیت کوین است و به عنوان جانشین بیت کوین معرفی شده است. در حالی که بیت کوین در حال حاضر با افزایش حجم تراکنش ها دچار مشکلاتی در مقیاس بندی شده است، اتریوم آماده است تا از نظر عملکرد، محبوبیت و ارزش از بیت کوین پیشی بگیرد. اتریوم برای کمک به توسعه‌دهندگانی مانند شما ایجاد شد تا برنامه‌هایی با تمرکز بر انتقال پول یا ارزش از یک طرف به طرف دیگر ایجاد کنند.

Solidity چیست؟

Solidity یک زبان برنامه نویسی برای نوشتن قراردادهای هوشمند است. در اصل، به آن به عنوان راهی برای کنترل یک حساب بانکی با کد فکر کنید. با Solidity می‌توانیم برنامه‌هایی بنویسیم که کمپین سرمایه‌گذاری جمعی، قرعه‌کشی، وام یا هر نوع ابزار مالی دیگری را شبیه‌سازی می‌کنند. با یادگیری زبان برنامه نویسی "دیگر" نترسید. Solidity کاملاً شبیه جاوا اسکریپت است و برای هر کسی که تجربه قبلی JS دارد به‌طور استثنایی به راحتی قابل استفاده است. این دوره همه ابزارهای لازم برای تسلط بر Solidity را در اختیار شما قرار می دهد.



سرفصل ها و درس ها

اتریوم چیست؟ What is Ethereum?

  • معرفی Introduction

  • منابع دوره Course Resources

  • درس کوتاه تاریخ A Short History Lesson

  • پیوند به کاغذ سفید اصلی بیت کوین Link to Original Bitcoin White Paper

  • اتریوم چیست؟ What is Ethereum?

  • ارتباط با شبکه های اتریوم Interfacing with Ethereum Networks

  • راه اندازی متاماسک برای رابط کاربری جدید به روز شد Updated Metamask Setup for new UI

  • راه اندازی متاماسک Metamask Setup

  • حساب های اتریوم Ethereum Accounts

  • استفاده از اتر آزمایشی در دوره Getting Test Ether to Use in the Course

  • تراکنش چیست؟ What's a Transaction?

  • چرا صبر کردیم؟ Why'd We Wait?

  • نکته ای سریع درباره سخنرانی بعدی A Quick Note About the Next Lecture

  • بلاک چین های پایه Basic Blockchains

  • زمان بلوک کردن Block Time

  • قراردادهای هوشمند Smart Contracts

  • زبان برنامه نویسی Solidity The Solidity Programming Language

  • دستورالعمل های ریمیکس به روز شده برای رابط کاربری جدید - رد نشوید Updated Remix Instructions for new UI - Do Not Skip

  • اولین قرارداد ما Our First Contract

  • ساختار قرارداد Contract Structure

  • اعلامیه های عملکرد Function Declarations

  • استقرار قرارداد در رابط کاربری جدید Remix Deploying Contract in New Remix UI

  • تست با ریمیکس Testing with Remix

  • استقرار مجدد قراردادها Redeploying Contracts

  • پشت صحنه استقرار Behind the Scenes of Deployment

  • در مورد عملکردهای در حال اجرا بیشتر از آنچه می خواهید بدانید More on Running Functions Than You Want to Know

  • وی در مقابل اتر Wei vs Ether

  • گاز و معاملات Gas and Transactions

  • عبارات یادگاری Mnemonic Phrases

  • ما به اتر آزمایشی بیشتری نیاز داریم! We Need More Test Ether!

  • دریافت اتر آزمایشی بیشتر از شیر آب توصیه شده Obtaining More Test Ether from Recommended Faucet

اتریوم چیست؟ What is Ethereum?

  • معرفی Introduction

  • منابع دوره Course Resources

  • درس کوتاه تاریخ A Short History Lesson

  • پیوند به کاغذ سفید اصلی بیت کوین Link to Original Bitcoin White Paper

  • اتریوم چیست؟ What is Ethereum?

  • ارتباط با شبکه های اتریوم Interfacing with Ethereum Networks

  • راه اندازی متاماسک برای رابط کاربری جدید به روز شد Updated Metamask Setup for new UI

  • راه اندازی متاماسک Metamask Setup

  • حساب های اتریوم Ethereum Accounts

  • استفاده از اتر آزمایشی در دوره Getting Test Ether to Use in the Course

  • تراکنش چیست؟ What's a Transaction?

  • چرا صبر کردیم؟ Why'd We Wait?

  • نکته ای سریع درباره سخنرانی بعدی A Quick Note About the Next Lecture

  • بلاک چین های پایه Basic Blockchains

  • زمان بلوک کردن Block Time

  • قراردادهای هوشمند Smart Contracts

  • زبان برنامه نویسی Solidity The Solidity Programming Language

  • دستورالعمل های ریمیکس به روز شده برای رابط کاربری جدید - رد نشوید Updated Remix Instructions for new UI - Do Not Skip

  • اولین قرارداد ما Our First Contract

  • ساختار قرارداد Contract Structure

  • اعلامیه های عملکرد Function Declarations

  • استقرار قرارداد در رابط کاربری جدید Remix Deploying Contract in New Remix UI

  • تست با ریمیکس Testing with Remix

  • استقرار مجدد قراردادها Redeploying Contracts

  • پشت صحنه استقرار Behind the Scenes of Deployment

  • در مورد عملکردهای در حال اجرا بیشتر از آنچه می خواهید بدانید More on Running Functions Than You Want to Know

  • وی در مقابل اتر Wei vs Ether

  • گاز و معاملات Gas and Transactions

  • عبارات یادگاری Mnemonic Phrases

  • ما به اتر آزمایشی بیشتری نیاز داریم! We Need More Test Ether!

  • دریافت اتر آزمایشی بیشتر از شیر آب توصیه شده Obtaining More Test Ether from Recommended Faucet

قراردادهای هوشمند با Solidity Smart Contracts with Solidity

  • نصب Node.js، npm و Git Installing Node.js, npm and Git

  • استقرار قرارداد Contract Deployment

  • دیگ بخار تکمیل شده Completed Boilerplate

  • الزامات پروژه Project Requirements

  • بررسی فایل پروژه Project File Walkthrough

  • برجسته کننده نحو Syntax Highlighters

  • تدوین Solidity Compiling Solidity

  • Asm.js یا هشدار انحلال سازنده نامعتبر است Invalid asm.js or Constructor Deprecation Warning

  • اسکریپت کامپایل The Compile Script

  • تست معماری Testing Architecture

  • نصب ماژول ها Installing Modules

  • نسخه وب 3 Web3 Versioning

  • ارائه دهندگان Web3 Web3 Providers

  • تست با موکا Testing with Mocha

  • ساختار موکا Mocha Structure

  • واکشی حساب‌ها از Ganache Fetching Accounts from Ganache

  • Refactor to Async/Await Refactor to Async/Await

  • استقرار با Web3 Deployment with Web3

  • نمای کلی صندوق ورودی مستقر شد Deployed Inbox Overview

  • ادعای استقرار Asserting Deployment

  • تأیید پیام اولیه Verifying the Initial Message

  • آزمایش به‌روزرسانی‌های پیام Testing Message Updates

  • استقرار با Infura Deployment with Infura

  • ثبت نام Infura Infura Signup

  • نکته بسیار مهم در مورد امنیت Seed/Recovery Phrase Super Important Note about Seed / Recovery Phrase Security

  • راه اندازی ارائه دهنده کیف پول Wallet Provider Setup

  • استقرار به Testnet Deployment to Testnet

  • مشاهده استقرار در Etherscan Observing Deployment on Etherscan

  • مجوزهای ریمیکس و متاماسک Remix Permissions and Metamask

  • قراردادهای مستقر در ریمیکس Deployed Contracts in Remix

  • بررسی پروژه Project Review

  • به روز رسانی پروژه صندوق ورودی خود به Solc نسخه 0.8.9 Updating Your Inbox Project to Solc v0.8.9

قراردادهای هوشمند با Solidity Smart Contracts with Solidity

  • نصب Node.js، npm و Git Installing Node.js, npm and Git

  • استقرار قرارداد Contract Deployment

  • دیگ بخار تکمیل شده Completed Boilerplate

  • الزامات پروژه Project Requirements

  • بررسی فایل پروژه Project File Walkthrough

  • برجسته کننده نحو Syntax Highlighters

  • تدوین Solidity Compiling Solidity

  • Asm.js یا هشدار انحلال سازنده نامعتبر است Invalid asm.js or Constructor Deprecation Warning

  • اسکریپت کامپایل The Compile Script

  • تست معماری Testing Architecture

  • نصب ماژول ها Installing Modules

  • نسخه وب 3 Web3 Versioning

  • ارائه دهندگان Web3 Web3 Providers

  • تست با موکا Testing with Mocha

  • ساختار موکا Mocha Structure

  • واکشی حساب‌ها از Ganache Fetching Accounts from Ganache

  • Refactor to Async/Await Refactor to Async/Await

  • استقرار با Web3 Deployment with Web3

  • نمای کلی صندوق ورودی مستقر شد Deployed Inbox Overview

  • ادعای استقرار Asserting Deployment

  • تأیید پیام اولیه Verifying the Initial Message

  • آزمایش به‌روزرسانی‌های پیام Testing Message Updates

  • استقرار با Infura Deployment with Infura

  • ثبت نام Infura Infura Signup

  • نکته بسیار مهم در مورد امنیت Seed/Recovery Phrase Super Important Note about Seed / Recovery Phrase Security

  • راه اندازی ارائه دهنده کیف پول Wallet Provider Setup

  • استقرار به Testnet Deployment to Testnet

  • مشاهده استقرار در Etherscan Observing Deployment on Etherscan

  • مجوزهای ریمیکس و متاماسک Remix Permissions and Metamask

  • قراردادهای مستقر در ریمیکس Deployed Contracts in Remix

  • بررسی پروژه Project Review

  • به روز رسانی پروژه صندوق ورودی خود به Solc نسخه 0.8.9 Updating Your Inbox Project to Solc v0.8.9

قراردادهای هوشمند پیشرفته Advanced Smart Contracts

  • قرارداد قرعه کشی The Lottery Contract

  • طراحی لاتاری Lottery Design

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • انواع پایه جامد Basic Solidity Types

  • شروع قرارداد قرعه کشی Starting the Lottery Contract

  • متغیر جهانی پیام The Message Global Variable

  • نمای کلی آرایه ها Overview of Arrays

  • بررسی اجمالی نقشه ها و سازه ها Overview of Mappings and Structs

  • بیگ سالیدیتی گوچا Big Solidity Gotcha

  • ورود به لاتاری Entering the Lottery

  • اعتبار سنجی با بیانیه های مورد نیاز Validation with Require Statements

  • Remix Debugger The Remix Debugger

  • مولد اعداد تصادفی شبه Pseudo Random Number Generator

  • انتخاب برنده Selecting a Winner

  • ارسال اتر از قراردادها Sending Ether from Contracts

  • تنظیم مجدد وضعیت قرارداد Resetting Contract State

  • نیازمند مدیران Requiring Managers

  • تعدیل کننده های تابع Function Modifiers

  • آرایه بازیکنان بازگشتی Returning Players Array

  • بازبینی قرارداد Contract Review

  • دیگ بخار تکمیل شده - از دست ندهید Completed Boilerplate - Do Not Skip

  • راه اندازی تست جدید New Test Setup

  • به روز رسانی پروژه های آزمایشی Test Project Updates

  • بررسی کمکی تست Test Helper Review

  • ادعای استقرار Asserting Deployment

  • ورود به لاتاری Entering the Lottery

  • ادعای چند بازیکن Asserting Multiple Players

  • ادعاها را امتحان کنید Try-Catch Assertions

  • تست اصلاح کننده های تابع Testing Function Modifiers

  • آزمون پایان به پایان End to End Test

قراردادهای هوشمند پیشرفته Advanced Smart Contracts

  • قرارداد قرعه کشی The Lottery Contract

  • طراحی لاتاری Lottery Design

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • انواع پایه جامد Basic Solidity Types

  • شروع قرارداد قرعه کشی Starting the Lottery Contract

  • متغیر جهانی پیام The Message Global Variable

  • نمای کلی آرایه ها Overview of Arrays

  • بررسی اجمالی نقشه ها و سازه ها Overview of Mappings and Structs

  • بیگ سالیدیتی گوچا Big Solidity Gotcha

  • ورود به لاتاری Entering the Lottery

  • اعتبار سنجی با بیانیه های مورد نیاز Validation with Require Statements

  • Remix Debugger The Remix Debugger

  • مولد اعداد تصادفی شبه Pseudo Random Number Generator

  • انتخاب برنده Selecting a Winner

  • ارسال اتر از قراردادها Sending Ether from Contracts

  • تنظیم مجدد وضعیت قرارداد Resetting Contract State

  • نیازمند مدیران Requiring Managers

  • تعدیل کننده های تابع Function Modifiers

  • آرایه بازیکنان بازگشتی Returning Players Array

  • بازبینی قرارداد Contract Review

  • دیگ بخار تکمیل شده - از دست ندهید Completed Boilerplate - Do Not Skip

  • راه اندازی تست جدید New Test Setup

  • به روز رسانی پروژه های آزمایشی Test Project Updates

  • بررسی کمکی تست Test Helper Review

  • ادعای استقرار Asserting Deployment

  • ورود به لاتاری Entering the Lottery

  • ادعای چند بازیکن Asserting Multiple Players

  • ادعاها را امتحان کنید Try-Catch Assertions

  • تست اصلاح کننده های تابع Testing Function Modifiers

  • آزمون پایان به پایان End to End Test

ساخت فرانت‌اندهای تعاملی Building Interactive Front-Ends

  • معماری اپلیکیشن اتریوم Ethereum App Architecture

  • به‌روزرسانی‌های Boilerplate و React App - از رد نشوید Boilerplate and React App Updates - Do Not Skip

  • بررسی اجمالی برنامه Application Overview

  • شروع کار با Create-React-App Getting Started with Create-React-App

  • چند نمونه Web3 Multiple Web3 Instances

  • به روز رسانی مورد نیاز برای مجوزهای Web3 و Metamask Required Update for Web3 and Metamask Permissions

  • BREAKING CANGE: webpack <5 برای شامل polyfills برای ماژول های هسته node.js استفاده می شود BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules

  • راه اندازی Web3 Web3 Setup

  • استقرار قرارداد قرعه کشی Deploying the Lottery Contract

  • موارد قرارداد محلی Local Contract Instances

  • ارائه داده های قرارداد Rendering Contract Data

  • ویژگی های نمونه Instance Properties

  • دسترسی به خواص بیشتر Accessing More Properties

  • فرم "ورود". The 'Enter' Form

  • تنظیم فرم Form Setup

  • ورود به لاتاری Entering the Lottery

  • انتخاب برنده Picking a Winner

  • بررسی پروژه Project Review

  • به روز رسانی پروژه قرعه کشی خود به Solc نسخه 0.8.9 Updating Your Lottery Project to Solc v0.8.9

  • Refactoring React App from Class to Functional Component Refactoring React App From Class to Functional Component

ساخت فرانت‌اندهای تعاملی Building Interactive Front-Ends

  • معماری اپلیکیشن اتریوم Ethereum App Architecture

  • به‌روزرسانی‌های Boilerplate و React App - از رد نشوید Boilerplate and React App Updates - Do Not Skip

  • بررسی اجمالی برنامه Application Overview

  • شروع کار با Create-React-App Getting Started with Create-React-App

  • چند نمونه Web3 Multiple Web3 Instances

  • به روز رسانی مورد نیاز برای مجوزهای Web3 و Metamask Required Update for Web3 and Metamask Permissions

  • BREAKING CANGE: webpack <5 برای شامل polyfills برای ماژول های هسته node.js استفاده می شود BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules

  • راه اندازی Web3 Web3 Setup

  • استقرار قرارداد قرعه کشی Deploying the Lottery Contract

  • موارد قرارداد محلی Local Contract Instances

  • ارائه داده های قرارداد Rendering Contract Data

  • ویژگی های نمونه Instance Properties

  • دسترسی به خواص بیشتر Accessing More Properties

  • فرم "ورود". The 'Enter' Form

  • تنظیم فرم Form Setup

  • ورود به لاتاری Entering the Lottery

  • انتخاب برنده Picking a Winner

  • بررسی پروژه Project Review

  • به روز رسانی پروژه قرعه کشی خود به Solc نسخه 0.8.9 Updating Your Lottery Project to Solc v0.8.9

  • Refactoring React App from Class to Functional Component Refactoring React App From Class to Functional Component

پروژه های واقعی با اتریوم Real Projects with Ethereum

  • حل مشکلات واقعی با قراردادها Solving Real Problems with Contracts

  • رفع مشکلات Kickstarter Fixing Kickstarter's Issues

  • طراحی قرارداد کمپین Campaign Contract Design

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • سازنده کمپین Campaign Constructor

  • مشارکت در کمپین Contributing to the Campaign

  • یک تست سریع A Quick Test

  • ساختار درخواست The Request Struct

  • اطلاعات بیشتر در مورد تعدیل کننده های تابع More on Function Modifiers

  • ایجاد نمونه های ساختاری Creating Struct Instances

  • نحو ایجاد نمونه Instance Creation Syntax

  • ذخیره سازی و حافظه Storage and Memory

  • اطلاعات بیشتر در مورد Storage vs Memory More on Storage vs Memory

  • الزامات سیستم رای گیری Voting System Requirements

  • سیستم رای گیری اشتباه The Wrong Voting System

  • مشکلات مربوط به آرایه ها Issues with Arrays

  • نقشه برداری در مقابل آرایه ها Mappings vs Arrays

  • مبانی نقشه برداری Basics of Mappings

  • Refactoring به Mappings Refactoring to Mappings

  • Refactoring Request Stucts Refactoring Request Stucts

  • اطلاعات بیشتر در مورد راه‌اندازی سازه More on Struct Initialization

  • تایید یک درخواست Approving a Request

  • تاییدیه درخواست تست Testing Request Approvals

  • نهایی کردن یک درخواست Finalizing a Request

  • آخرین تست ریمیکس Last Remix Test

  • فکر کردن به استقرار Thinking about Deployment

  • راه حلی برای استقرار Solution to Deployment

  • اضافه کردن یک کارخانه کمپین Adding a Campaign Factory

  • آزمایش کارخانه Testing the Factory

پروژه های واقعی با اتریوم Real Projects with Ethereum

  • حل مشکلات واقعی با قراردادها Solving Real Problems with Contracts

  • رفع مشکلات Kickstarter Fixing Kickstarter's Issues

  • طراحی قرارداد کمپین Campaign Contract Design

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • سازنده کمپین Campaign Constructor

  • مشارکت در کمپین Contributing to the Campaign

  • یک تست سریع A Quick Test

  • ساختار درخواست The Request Struct

  • اطلاعات بیشتر در مورد تعدیل کننده های تابع More on Function Modifiers

  • ایجاد نمونه های ساختاری Creating Struct Instances

  • نحو ایجاد نمونه Instance Creation Syntax

  • ذخیره سازی و حافظه Storage and Memory

  • اطلاعات بیشتر در مورد Storage vs Memory More on Storage vs Memory

  • الزامات سیستم رای گیری Voting System Requirements

  • سیستم رای گیری اشتباه The Wrong Voting System

  • مشکلات مربوط به آرایه ها Issues with Arrays

  • نقشه برداری در مقابل آرایه ها Mappings vs Arrays

  • مبانی نقشه برداری Basics of Mappings

  • Refactoring به Mappings Refactoring to Mappings

  • Refactoring Request Stucts Refactoring Request Stucts

  • اطلاعات بیشتر در مورد راه‌اندازی سازه More on Struct Initialization

  • تایید یک درخواست Approving a Request

  • تاییدیه درخواست تست Testing Request Approvals

  • نهایی کردن یک درخواست Finalizing a Request

  • آخرین تست ریمیکس Last Remix Test

  • فکر کردن به استقرار Thinking about Deployment

  • راه حلی برای استقرار Solution to Deployment

  • اضافه کردن یک کارخانه کمپین Adding a Campaign Factory

  • آزمایش کارخانه Testing the Factory

زیرساخت پروژه اتریوم Ethereum Project Infrastructure

  • دیگ بخار تکمیل شده - از دست ندهید Completed Boilerplate - Do Not Skip

  • راه اندازی پروژه Project Setup

  • ساختار دایرکتوری Directory Structure

  • یک اسکریپت کامپایل بهتر A Better Compile Script

  • کامپایل تک اجرا Single Run Compilation

  • بیشتر در کامپایل More on Compile

  • تنظیم فایل آزمایشی Test File Setup

  • ایجاد نمونه های کمپین Creating Campaign Instances

  • تست گرم کردن Testing Warmup

  • دسترسی به نقشه‌ها Accessing Mappings

  • نیاز به حداقل مشارکت Requiring Minimum Contributions

  • آرایه گیرندگان Array Getters

  • یک پایان به پایان تست One End to End Test

  • گسترش Deployment

  • استقرار Refactoring Refactoring Deployment

زیرساخت پروژه اتریوم Ethereum Project Infrastructure

  • دیگ بخار تکمیل شده - از دست ندهید Completed Boilerplate - Do Not Skip

  • راه اندازی پروژه Project Setup

  • ساختار دایرکتوری Directory Structure

  • یک اسکریپت کامپایل بهتر A Better Compile Script

  • کامپایل تک اجرا Single Run Compilation

  • بیشتر در کامپایل More on Compile

  • تنظیم فایل آزمایشی Test File Setup

  • ایجاد نمونه های کمپین Creating Campaign Instances

  • تست گرم کردن Testing Warmup

  • دسترسی به نقشه‌ها Accessing Mappings

  • نیاز به حداقل مشارکت Requiring Minimum Contributions

  • آرایه گیرندگان Array Getters

  • یک پایان به پایان تست One End to End Test

  • گسترش Deployment

  • استقرار Refactoring Refactoring Deployment

جلویی های چند صفحه ای پیشرفته Advanced Multi-Page Front-Ends

  • مدل های برنامه App Mockups

  • CRA در مقابل بعدی CRA vs Next

  • معماری صفحات بعدی Next's Pages Architecture

  • مبانی مسیریابی بعدی Basics of Next Routing

  • مسیرهای ریشه Root Routes

  • به روز رسانی مورد نیاز Web3 - رد نشوید Required Web3 Update - Do Not Skip

  • نمونه CampaignFactory CampaignFactory Instance

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • گرفتن کمپین آزمایشی Getting a Test Campaign

  • واکشی کمپین های مستقر شده Fetching Deployed Campaigns

  • چرا Next.js، به هر حال؟ Why Next.js, Anyways?

  • به روز رسانی Web3 مورد نیاز برای شرطی Required Web3 Update for Conditional

  • سرور در مقابل نمونه های وب 3 مشتری Server vs Client Web3 Instances

  • تابع GetInitialProps GetInitialProps Function

  • Semantic UI React Semantic UI React

  • راه اندازی گروه کارت Card Group Setup

  • گروه های کارت رندر Rendering Card Groups

  • افزودن CSS Adding CSS

  • اضافه کردن یک دکمه Adding a Button

  • نیاز به یک چیدمان The Need for a Layout

  • پیشنهاد در مورد هشدار صادرات پیش فرض Suggestion Regarding a Default Export Warning

  • مؤلفه Layout The Layout Component

  • مونتاژ هدر Assembling a Header

  • محدود کردن عرض محتوا Constraining Content Width

  • طرح بندی دو ستونی Two Column Layout

  • مسیریابی تودرتو Nested Routing

  • رفع نهایی CSS Final CSS Fix

  • ایجاد فرم Form Creation

  • کنترل کننده های تغییر ورودی Input Change Handlers

  • ارسال فرم Form Submittal

  • ارسال تست Testing Submittal

  • مدیریت خطای فرم Form Error Handling

  • چرخنده دکمه Button Spinners

  • نکته مهم در مورد نصب مسیرهای بعدی Important Note About Installing next-routes

  • مسائل مسیریابی Routing Issues

  • راه اندازی مسیرهای بعدی Next Routes Setup

  • ناوبری خودکار Automatic Navigation

  • ناوبری هدر Header Navigation

  • مسیریابی به کمپین ها Routing to Campaigns

  • راه اندازی مجدد سرور Restarting the Server

  • نقشه برداری مسیر Route Mappings

  • برنامه ریزی کمپین نمایش Planning CampaignShow

  • باز استقرار CampaignFactory Redeploying CampaignFactory

  • GetInitialProps CampaignShow CampaignShow's GetInitialProps

  • دسترسی به یک کمپین Accessing a Campaign

  • لایه ترجمه خلاصه Summary Translation Layer

  • گروه های کارت سفارشی Custom Card Groups

  • یک کارت در هر ملک One Card Per Property

  • فرم مشارکت The Contribute Form

  • طرح بندی شبکه ای Grid Layouts

  • حالت را تشکیل دهید Form State

  • برقراری ارتباط با آدرس کمپین Communicating the Campaign Address

  • مشارکت دادن Making a Contribution

  • تازه کردن داده های قرارداد Refreshing Contract Data

  • اسپینرها و کنترل کننده های خطا Spinners and Error Handlers

  • درخواست های لیست Listing Requests

  • شبکه ها در مقابل ستون ها Grids vs Columns

  • مسیریابی بیشتر More Routing!

  • فرم ایجاد درخواست Request Creation Form

  • ایجاد یک درخواست Creating a Request

  • لهستانی فرم Form Polish

  • ایجاد یک درخواست Creating a Request

  • درخواست ها یکی یکی Requests One by One

  • جاوا اسکریپت فانتزی Fancy Javascript

  • اشتباه تایپی کوچک! Small Typo!

  • رندر کردن جدول Rendering a Table

  • درخواست جزء ردیف Request Row Component

  • درخواست محتوای ردیف Request Row Content

  • سلول شمارش تایید کنندگان Approvers Count Cell

  • تایید یک درخواست Approving a Request

  • نهایی کردن درخواست ها Finalizing Requests

  • تست نهایی Testing Finalization

  • یک ظاهر طراحی وضعیت ردیف Row Status Styling

  • فهرست درخواست های تکمیلی Finishing Requests Index

  • بسته شدن Wrapup

  • به روز رسانی پروژه کمپین خود به Solc نسخه 0.8.9 Updating Your Campaign Project to Solc v0.8.9

جلویی های چند صفحه ای پیشرفته Advanced Multi-Page Front-Ends

  • مدل های برنامه App Mockups

  • CRA در مقابل بعدی CRA vs Next

  • معماری صفحات بعدی Next's Pages Architecture

  • مبانی مسیریابی بعدی Basics of Next Routing

  • مسیرهای ریشه Root Routes

  • به روز رسانی مورد نیاز Web3 - رد نشوید Required Web3 Update - Do Not Skip

  • نمونه CampaignFactory CampaignFactory Instance

  • یادآوری به‌روزرسانی شده Remix UI Reminder on Updated Remix UI

  • گرفتن کمپین آزمایشی Getting a Test Campaign

  • واکشی کمپین های مستقر شده Fetching Deployed Campaigns

  • چرا Next.js، به هر حال؟ Why Next.js, Anyways?

  • به روز رسانی Web3 مورد نیاز برای شرطی Required Web3 Update for Conditional

  • سرور در مقابل نمونه های وب 3 مشتری Server vs Client Web3 Instances

  • تابع GetInitialProps GetInitialProps Function

  • Semantic UI React Semantic UI React

  • راه اندازی گروه کارت Card Group Setup

  • گروه های کارت رندر Rendering Card Groups

  • افزودن CSS Adding CSS

  • اضافه کردن یک دکمه Adding a Button

  • نیاز به یک چیدمان The Need for a Layout

  • پیشنهاد در مورد هشدار صادرات پیش فرض Suggestion Regarding a Default Export Warning

  • مؤلفه Layout The Layout Component

  • مونتاژ هدر Assembling a Header

  • محدود کردن عرض محتوا Constraining Content Width

  • طرح بندی دو ستونی Two Column Layout

  • مسیریابی تودرتو Nested Routing

  • رفع نهایی CSS Final CSS Fix

  • ایجاد فرم Form Creation

  • کنترل کننده های تغییر ورودی Input Change Handlers

  • ارسال فرم Form Submittal

  • ارسال تست Testing Submittal

  • مدیریت خطای فرم Form Error Handling

  • چرخنده دکمه Button Spinners

  • نکته مهم در مورد نصب مسیرهای بعدی Important Note About Installing next-routes

  • مسائل مسیریابی Routing Issues

  • راه اندازی مسیرهای بعدی Next Routes Setup

  • ناوبری خودکار Automatic Navigation

  • ناوبری هدر Header Navigation

  • مسیریابی به کمپین ها Routing to Campaigns

  • راه اندازی مجدد سرور Restarting the Server

  • نقشه برداری مسیر Route Mappings

  • برنامه ریزی کمپین نمایش Planning CampaignShow

  • باز استقرار CampaignFactory Redeploying CampaignFactory

  • GetInitialProps CampaignShow CampaignShow's GetInitialProps

  • دسترسی به یک کمپین Accessing a Campaign

  • لایه ترجمه خلاصه Summary Translation Layer

  • گروه های کارت سفارشی Custom Card Groups

  • یک کارت در هر ملک One Card Per Property

  • فرم مشارکت The Contribute Form

  • طرح بندی شبکه ای Grid Layouts

  • حالت را تشکیل دهید Form State

  • برقراری ارتباط با آدرس کمپین Communicating the Campaign Address

  • مشارکت دادن Making a Contribution

  • تازه کردن داده های قرارداد Refreshing Contract Data

  • اسپینرها و کنترل کننده های خطا Spinners and Error Handlers

  • درخواست های لیست Listing Requests

  • شبکه ها در مقابل ستون ها Grids vs Columns

  • مسیریابی بیشتر More Routing!

  • فرم ایجاد درخواست Request Creation Form

  • ایجاد یک درخواست Creating a Request

  • لهستانی فرم Form Polish

  • ایجاد یک درخواست Creating a Request

  • درخواست ها یکی یکی Requests One by One

  • جاوا اسکریپت فانتزی Fancy Javascript

  • اشتباه تایپی کوچک! Small Typo!

  • رندر کردن جدول Rendering a Table

  • درخواست جزء ردیف Request Row Component

  • درخواست محتوای ردیف Request Row Content

  • سلول شمارش تایید کنندگان Approvers Count Cell

  • تایید یک درخواست Approving a Request

  • نهایی کردن درخواست ها Finalizing Requests

  • تست نهایی Testing Finalization

  • یک ظاهر طراحی وضعیت ردیف Row Status Styling

  • فهرست درخواست های تکمیلی Finishing Requests Index

  • بسته شدن Wrapup

  • به روز رسانی پروژه کمپین خود به Solc نسخه 0.8.9 Updating Your Campaign Project to Solc v0.8.9

ضمیمه: Basic React Appendix: Basic React

  • نکته ای در مورد این بخش A Note on This Section

  • هدف از پروژه های دیگ بخار Purpose of Boilerplate Projects

  • راه اندازی محیط Environment Setup

  • راه اندازی پروژه Project Setup

  • JSX JSX

  • اطلاعات بیشتر در مورد JSX More on JSX

  • بیانیه های واردات ES6 ES6 Import Statements

  • ReactDOM در مقابل React ReactDOM vs React

  • نمونه های کامپوننت Component Instances

  • رندر اهداف Render Targets

  • ساختار جزء Component Structure

  • ثبت نام API جستجوی یوتیوب Youtube Search API Signup

  • بیانیه های صادراتی Export Statements

  • مولفه های مبتنی بر کلاس Class Based Components

  • مدیریت رویدادهای کاربر Handling User Events

  • مقدمه ای بر ایالت Introduction to State

  • ایالت ادامه دارد State Continued

  • اجزای کنترل شده Controlled Components

  • تنفس و بررسی Breather and Review

  • پاسخ جستجوی یوتیوب Youtube Search Response

  • Refactoring اجزای عملکردی به اجزای کلاس Refactoring Functional Components to Class Components

  • لوازم جانبی Props

  • لیست ساختمان ها با نقشه Building Lists with Map

  • کلیدهای مورد فهرست List Item Keys

  • موارد فهرست ویدیویی Video List Items

  • جزئیات جزء و رشته های الگو Detail Component and Template Strings

  • رسیدگی به لوازم پوچ Handling Null Props

  • انتخاب ویدیو Video Selection

  • استایل دهی با CSS Styling with CSS

  • جستجوی ویدیوها Searching for Videos

  • ورودی عبارت جستجوی محدود کننده Throttling Search Term Input

  • React Wrapup React Wrapup

  • نسخه طعم دار Vue Vue Flavored Version

ضمیمه: Basic React Appendix: Basic React

  • نکته ای در مورد این بخش A Note on This Section

  • هدف از پروژه های دیگ بخار Purpose of Boilerplate Projects

  • راه اندازی محیط Environment Setup

  • راه اندازی پروژه Project Setup

  • JSX JSX

  • اطلاعات بیشتر در مورد JSX More on JSX

  • بیانیه های واردات ES6 ES6 Import Statements

  • ReactDOM در مقابل React ReactDOM vs React

  • نمونه های کامپوننت Component Instances

  • رندر اهداف Render Targets

  • ساختار جزء Component Structure

  • ثبت نام API جستجوی یوتیوب Youtube Search API Signup

  • بیانیه های صادراتی Export Statements

  • مولفه های مبتنی بر کلاس Class Based Components

  • مدیریت رویدادهای کاربر Handling User Events

  • مقدمه ای بر ایالت Introduction to State

  • ایالت ادامه دارد State Continued

  • اجزای کنترل شده Controlled Components

  • تنفس و بررسی Breather and Review

  • پاسخ جستجوی یوتیوب Youtube Search Response

  • Refactoring اجزای عملکردی به اجزای کلاس Refactoring Functional Components to Class Components

  • لوازم جانبی Props

  • لیست ساختمان ها با نقشه Building Lists with Map

  • کلیدهای مورد فهرست List Item Keys

  • موارد فهرست ویدیویی Video List Items

  • جزئیات جزء و رشته های الگو Detail Component and Template Strings

  • رسیدگی به لوازم پوچ Handling Null Props

  • انتخاب ویدیو Video Selection

  • استایل دهی با CSS Styling with CSS

  • جستجوی ویدیوها Searching for Videos

  • ورودی عبارت جستجوی محدود کننده Throttling Search Term Input

  • React Wrapup React Wrapup

  • نسخه طعم دار Vue Vue Flavored Version

موارد اضافی Extras

  • جایزه! Bonus!

موارد اضافی Extras

  • جایزه! Bonus!

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش Ethereum and Solidity: راهنمای کامل توسعه دهندگان
جزییات دوره
23.5 hours
267
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
134,955
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Stephen Grider Stephen Grider

معمار مهندسی