Andrey Simaranov
Course author
4.9
70 lessons3 months
Journey through Solidity & DeFiAfter the interactive course, you will learn to write smart contracts and become a sought-after blockchain developer. Regardless of your initial level, you will master the technology of the future with the help of a virtual assistant. The main feature of our courses is practice and instant code verification directly on the website
Video Lectures
Practice
Theory
Start
Studying:
0 days
StarterSale 15%
Paid tariff
Access to all main course materials
Automatic solution verification
ProSale 30%
Paid tariff
Everything included in Starter tariff
Premium materials and tasks
Personal AI mentor
Course structure
1
Solidity BasicsPrologue – introduction to the course, heroes and adventure format
Hello, Blockchain – first contract, deployment and basic interaction
Smart contract structure – SPDX, pragma, contract, state and functions
Variables – state/local, default values, constant and immutable
Functions – signatures, parameters/returns, view/pure/payable and basic calls
Primitive types – uint/int/bool/string/address/bytes and their features
Primitive operations – arithmetic, comparisons, logic and priorities
Advanced operations – bitwise, ternary, increment/decrement and casts
Variable visibility – public/private/internal and auto-getters
Multiple returns – tuples, named returns and unpacking
Function visibility – public/external/internal/private and when to use what
Remix IDE (basics) – files, compilation, deployment and function calls
Remix IDE (advanced) – debugger, plugins, imports and optimizations
Error handling (basics) – require/revert/assert and error messages
Error handling (pro) – custom errors, try/catch and gas savings
Custom modifiers – reusable checks and invariants
Arrays and basic types – static/dynamic, push/pop and iterations
Mappings – key-value, nested mapping and iteration limitations
Structs and enums – data grouping and state readability
Layout and storage – 32-byte slots, packing and gas impact
Hardhat (overview) – project structure, configuration and scripts
Hardhat (development) – deployment, networks, environments and artifacts
Hardhat (tests) – mocha/chai, ethers and test practices
Gas (basics) – what is gas, price/limit and operation costs
Gas strategies – estimation, limits, saving techniques and security
Gas optimization – read/write patterns and micro-optimizations
Events – event/emit, indexed/topics and frontend logging
Receiving ETH – payable, receive/fallback and invariants
Sending ETH – transfer/send/call, returns and security
Special functions and security – constructor, fallback, access and invariants
Payment patterns – pull over push, withdrawal and fund protection
Overflows and versions – checking with ^0.8, SafeMath and compatibility
DeFi mathematics – interest, fixed point (wad/ray) and rounding
Cross-contract calls – interfaces, try/catch and error handling
Factory pattern – creating contracts from contracts and registry
Abstract contracts – interfaces, inheritance and security
Low-level calls – call/delegatecall/staticcall and risks
Token from scratch – minimal transfer and balance implementation
ERC-20 and OpenZeppelin – import, extension, hooks and best practices
NFT ERC-721 – unique tokens, metadata and minting
NFT ERC-1155 – multi-tokens, batch operations and use cases
Security (basics) – design principles, checks and access control
Reentrancy and overflows – common attacks and protection
Advanced attacks – frontrunning/MEV, phishing patterns and protection
Time in Ethereum – block.timestamp, timers and anti-patterns
Block/transaction properties – msg, tx, block and their usage
Staking (basics) – locks, rewards and yield calculation
ABI (basics) – type encoding and external world interaction
ABI (cross-calls) – encode/decode, selectors and interfaces
ABI (decoding) – parsing calldata/logs and practical cases
Hash functions – keccak256, data integrity and string comparison
Signatures – ECDSA, recover, authorization without password storage
Cryptography (pro) – randomness, VRF and pitfalls
DAO (basics) – roles, voting, quorum and basic processes
2
Blockchain BasicsBlockchain nodes – node roles, node types and their interaction
Addresses and wallets – keys, seed phrases and ownership models
Transactions – structure, signing, mempool and confirmations
Blocks – formation, transaction inclusion and finality
Consensus and security – PoW/PoS, attacks and resilience
Ethereum database – state, trie and storage
EVM – bytecode, opcodes and gas execution model
Ethereum as protocol – RPC, networks and interaction standards
Database implementation – storage, indexes and verification
3
Cryptography Basics4
Token World