درباره ما - میلاد

مسترکلاس توسعه بلاکچین اتریوم با زبان Solidity

همراه با میلاد

  1. Introduction to Solidity and first steps

1.1 Introduction to Solidity and Solidity DataTypes

1.2 Fundamentals of 1.3 Blockchain part 1

1.4 BlockchainFundamentals

1.5 Solidity Math

1.6 Global Variables

1.7 Tuples

1.8 Enum

1.9 Constructor

1.10 Mapping , Struct, Constructor, Array of Struct, Memory, Calldata, Storage

1.11 Iterable Mappings

1.12 Fundamentals of Markets

1.13 Immutable

1.14 Modifiers With Parameters

1.15 Require , Revert , Modifer , Blockchian Intro, Hash function Intro

2. Tools and Frameworks

2.1 Foundry Frame Work

2.2 Cast , anvil , in foundry

2.3 Deploying and Testing Contracts With Foundry

2.4 Fuzz Testing With Foundry

2.5 Simple Debugging in remix

2.6 Verifying and Publishing Smart Contracts on EtherScan and SepoliaScan

2.7 abi.encode , Event and emit, Events on EtherScan and SepoliaScan

2.8 Verifying and publishing on Sepolia Scan and Generate ABI

3. Contract development and Data management

3.1 Storage Slot Management in Upgradeable Contracts

3.2 Using Immutable & Constant Variables

3.3 Smaller Data Types

3.4 Value Types vs Reference Types

3.5 (Understanding storage, memory, and calldata)

3.6 Careful Use of Storage vs. Memory

3.7 Packing Variables

3.8 Advanced Struct Packing (with arrays, mappings inside structs)

3.9 Mapping With Structs for Record Keeping

3.10 Mapping a Mapping to other Types

3.11 Interface Project Description

4. Gas Optimization

4.1 Gas optimization Techniques

4.2 Minimize SSTORE Operations

4.3 Avoiding Unnecessary Computations

4.4 Efficient For-Loops

4.5 Efficient Batch Operations

4.6 Efficient Array Modification

4.7 Minimize External Calls and Contract Calls

4.8 Short-Circuiting in Conditional Checks

4.9 Bitwise Operations & Flag Packing

4.10 Function Selector Collisions

4.11 Custom Error Handling (Custom Errors over revert Strings)

4.12 Gas Refund Patterns

4.13 EIP-2929/EIP-2200/EIP-3651 and Istanbul Gas Changes

5. Contract Security

5.1 Re-eterancy Hack Explained In details

5.2 Re-Eterency Hack Solution with Modifiers

5.3 Hack With fallback

5.4 Simple Smart Contract Hack

5.5 Try Catch Intro And Example

5.6 Verifying Signature in solidity

5.7 ecrecover, signature in meta mask off chain

5.8 error MyError(); uses less gas than require(cond, “message”);

5.9 msg.sender in diffrent Context

5.10 address(this).balance

5.11 Shadowing  Inherited State Variables

6. Function call and complex structures 

6.1 Delegate Call Exercise Solution

6.2 Delegate Call Exercise Explanation

6.3 DelegateCall

6.4 MultiCall , MultiCall Exercise Explanation

6.5 MultiCallExercise Helper

6.6 Static Call in solidity

6.7 Static Call Exercise Solution

6.8 Function Selectors

6.9 Calling Functions With Key Value Pairs

6.10 Calling Contracts Functions From Other Contracts

6.11 Encoding and Decoding and Sending Data with call Exercise

6.12 Sending Data With Call , Decoding Data

6.13 3 Ways to Encode Data

7. Advanced contracts, Token sales and Market features

7.1 Lottery Part One With Random Number Reseting Arrays

7.2 Lottery With Token Final

7.3 Lottery With Profit And Entry Limit

7.4 Lottery Exercise Explanation Random Number With Keccak Resetting Arrays

7.5 AggregatorV3Interface , Chainlink Oracle , Interface usage

7.6 Oracle and Chainlink

7.7 Oracle , Chainlink , ,  Oracle Consensus ,Interface

7.8 Price Feeds of chainlink

7.9 Dutch Auction

7.10 Dutch Auction Buy Function

7.11 Dutch Auction Buy Function Exercise

7.12 English Auction

7.13 English Auction Interaction Exercise

7.14 IERC721Receiver , onERC721Received , SafeTransferFrom Function for 721 Standard

7.15 Deployement of a 721NFT and Selling it in the Dutch Auction

7.16 Mint Function Exercise Explained

7.17 Mint Exercise

8. Special functions and Timing

8.1 TimeLock For Any Execution For Transparency , TimeLock Contract Usable as Owner of Other Contracts

8.2 TimeLock Functionality For Queue and Execution

8.3 Complex Data Preparation , Using TimeLock Contract As the Owner of any Contract and publish any Transactions With TimeLock

8.4 Preparing TxID ,  Preparing and Using Function Selector

8.5 Parts of a Complex Call , Building a Complex Call from Scratch , Preparing Data For a Complex Call , Structure of a Execution With TimeLock

8.6 Intro To TimeLock, Simplest TimeLock Contract

8.7 Simple TimeLock

9. CREATE 2, Precompute Adresses 

9.1 Precompute Deploy Address of Create2 , Sending Ether to a Contract that hasn’t been Deployed Yet

9.2 ByteCode , salt , Precompute Address of a Contract Post Deploy , Create2

9.3 Minimal Proxies (EIP-1167) / Contract Clones

9.4 A contract Selling Contracts to Customers making them the Owners

10. ERC-20 and ERC-721

10.1 ERC20 Implementation

10.2 Intro to Erc-20 Standard , IERC20 Interface

10.3 ERC721 implementation

10.4 IERC165 and IERC721

10.5 Interface Examples

10.6 Access Control Contract in Solidity

10.7 Interface and Implementing them

11. Practical Projects and comprehensive exercise

11.1 CashBack Project

11.2 CashBack Project with Receive Function

11.3 MemberShip Contract Project

11.4 ToDo List Exercise

11.5 Twitter Contract

11.6 Tweeter Exercise Description

11.7 Voter Contract

11.8 Bank Inheritance Exercise

11.9 Calculator in solidity with inheritance

11.10 Eventing Inheritance with multiple inheritance and super keyword

11.11 Array Removal Algorithm

11.12 Arrays , Array removal algo

11.13 New Keyword and Deploying SmartContracts From Another SmartContract

11.14 Deploying a Contract From Another Contract

11.15 Deploying a Payable Contract From Another Contract

12. Pay, Transfer, Receive ETH

12.1 Payable Functions and Contracts

12.2 msg.value, msg.sender

12.3 Receive Function

12.4 Fallback Function

12.5 fallback With Input , Using a fallback With Input as Middle contract to call another Contract and making it payable

12.6 fallback Review , fallback with Input and Output , fallback with Input Exercise Explained

12.7 Send Ether with Transfer, Send, Call functions

12.8 Payable , How to receive funds in ETH

12.9 Deposit Function Intro , Getting Contract Balance with this

13. Testing, Debugging, and Validation

13.1 Assert , Testing a Contract by Assert

13.2 Assert

13.3 abi.encodePacked, abi.encode, abi.encodePacked Collision Problem and Solution

13.4 Keccak256 Hash Function

13.5 Selfdestruct , Deleting Deployed Contracts , Force Sending Ether without the need of fallback or receive

به بالا بروید