دوره مقدماتی تا پیشرفته برنامه نویسی با زبان سالیدیتی
دوره
آکادمی فلاکسودیو
تکنولوژی
برنامه نویسی
آنلاین
سرفصل های مطالب آموزشی در این دوره :
Solidity Learning Syllabus
1. Introduction to Blockchain and Ethereum
• Basics of blockchain technology: Decentralization, Consensus Mechanisms, and Cryptography.
2. Introduction to Blockchain and Ethereum
• Overview of Ethereum: How it works, Ether, Gas, and Ethereum Virtual Machine (EVM).
• Interfacing with Ethereum Networks
• Ethereum Accounts
• What's a Transaction
• Faucet
• Block Time
3. Introduction to Solidity
• Why Solidity? Historical context and its importance.
• The Solidity Programming Language
• Structure of a Solidity file: Pragma directive, imports, and contracts.
• First Contract
• Function Declarations
• Remix
• Behind the Scenes of Deployment
• Wei vs Ether
• Gas and Transactions
• Getting More Ether
4. Solidity Basics
• Data types: Elementary types: bool, uint, int, address, bytes.
• Complex types: enum, struct, mapping, arrays.
• Functions: Declaration, parameters, return values, and visibility (public, private, internal, external).
• Events: How to declare and emit events.
5. Control Structures and Error Handling
• Conditional statements: if, else, require, assert, revert.
• Loops: for, while, do-while.
6. Advanced Solidity Concepts
• Function modifiers: Creating and using custom modifiers.
• Inheritance: Extending contracts, abstract contracts, and interfaces.
• Global variables and functions: msg, block, tx, etc.
7. Smart Contract Interaction
• Interacting between contracts: call, delegatecall, interface.
• Ether management in contracts: payable, sending and receiving Ether.
8. Solidity Development Environment and Tools
• Setting up a development environment: Remix, Truffle, Hardhat.
• Deploying contracts: Using Metamask, Infura.
9. Advanced Smart Contracts
• The Lottery Contract
• Lottery Design
• Starting the Lottery Contract
• The Message Global Variable
• Overview of Arrays
• Overview of Mappings and Structs
• Validation with Require Statements
• The Remix Debugger
• Pseudo Random Number Generator
• Selecting a Winner
• Sending Ether from Contracts
• Requiring Managers
• Test Project Updates
• Test Helpers
• Asserting Deployment
• Try-Catch Assertions
• End to End Test
10. Building Interactive Front-Ends
• Ethereum App Architecture
• Getting Started with Create-React-App
• Multiple Web3 Instances
• Web3 Setup
• Deploying the Lottery Contract
• Local Contract Instances
• Rendering Contract Data
• Accessing More Properties
• Entering the Lottery
• Picking a Winner
11. Real Projects with Ethereum
• Solving Real Problems with Contracts
• Contributing to the Campaign
• Creating Struct Instances
• Storage and Memory
• Voting System Requirements
• Mappings vs Arrays
• Struct Initialization
• Testing Request Approvals
• Finalizing a Request
• Deployment
• Ethereum Project Infrastructure
• Advanced Multi-Page Front-Ends
• Make Token
• Payment with token
11. Security in Solidity
• Common vulnerabilities: Reentrancy, overflow/underflow, uninitialised storage pointers, etc.
• Security best practices: Regular audits, keeping contracts simple, monitoring the latest vulnerabilities.
12. Advanced Topics
• Upgradable contracts: Proxy patterns, eternal storage.
• Interacting with other chains or L2 solutions: Bridges, Oracles (e.g., Chainlink).
• Libraries in Solidity: Using and creating libraries.