Module 1 - Solidity beginner
- Introduction to Blockchain & Ethereum
- Introduction to Blockchain
- Introduction to Ethereum
- Introduction to the EVM
- Blocks, Transactions, Wallets, private keys
- How to use a block explorer to analyse a transaction
- Solidity, beginner
- Main tools for Solidity development: Remix, Foundry
- Basic layout of a smart contract
- Functions
- Basic variables: integers, addresses, strings
- How to handle Ether in smart contracts
- Container variables: Arrays, mappings
- User-defined variables: enum, struct
- Errors
- Inheritance
- Type casting
- Interaction between smart contracts
- Debugging
Module 2 - Solidity Intermediate
- Advanced Solidity patterns
- Access control Check, effect, interaction
- Proper way to handle arithmetics
- Smart contract updates (proxy)
- Oracles
- Deploying smart contracts
- Deploying with Foundry
- Writing a deployment script
- Deploying to a local Blockchain
- Deploying to public testnet
- Deploying to mainnet
- Testing smart contracts
- How to write tests with Foundry
- Strategy to write comprehensive tests (how to reach 100% coverage)
- Testing balances
- Time travel
- Testing on local testnet
- Testing on public testnet (forking)
Module 3 - Solidity Advanced
- Yul
- The memory location of the EVM
- The memory location of the EVM
- Smart contracts execution in the EVM
- Understanding the main opcodes
- Introduction to Yul
- Use cases of Yul
- Yul object
- In-line assembly
- Most typical operations in Yul
- Interaction between normal solidity and Yul
- Gas optimization
- What is gas optimization?
- Simple gas optimization techniques
- Advanced gas optimization techniques
- Smart contract security
- Most common security vulnerabilities
- How to write safe smart contracts
- Understanding the whole security process
- Security tools
Module 4 - Create an ERC20 Token (Your first $1000 project as a freelancer)
- Tokenomics (how to set the parameters of a token)
- What is tokenomics?
- Token supply
- Token Allocation
- Token vesting
- Code an ERC20
- The ERC20 standard explained
- Coding your own ERC20 token with OpenZeppelin
- Customizations: add transaction fee, reflections, anti-whale mechanism, anti-sniping mechanism
- Before deploying
- Doing a security audit
- Optimize the code