Web3 Programming Fundamentals
After this course, you will be well equipped to navigate dApps, smart contracts, and blockchain technology and decide if you will continue to more extensive and advanced blockchain development topics.
Blockchain
Why do we need blockchain?
What is decentralization?
What are transactions, blocks and nodes?
How does blockchain work?
What are smart contracts?
What are wallets?
What are dApps and Web3?
Intro to Ethereum Blockchain Network
Intro to other DLT protocols
Chapter quiz
Introduction
1. Our first smart contract
2. Solidity Value Types and Basic Functions
3. Types Of Variables
4. View and Pure Functions Excercise
5. Solidity Default Values
6. Constants
7. If_Else Statements and Loops
8. Errors and Custom Errors
9. Function Modifiers
10. Constructor and Exercise
11. Ownable Exercise Solution
12. Returning Data from Functions
13. Arrays and Simple Operations
14. Remove Elements with Shift
15. Remove elements by replacing the last one
16. Mappings
17. Mapping Tricks
18. Struct & Enums
19. Advanced Topic - Deploy any contract
20. Data Locations
21. Exercise - Simple Storage Contract
22. Events
23. Basic Inheritance
24. Calling parent constructors
25. Multiple Inheritance
26. How to call parent functions
27. Visibility
28. Save gas on constants
29. What is Payable in Solidity
30. Fallback and Receive
31. How to send Ether
32. Wallet Contract Assesment
33. Basic EtherWallet Contract
34. How to Call Other Contracts
35. What are interfaces
36. What is Call
37. Delegatecall basics
38. Deploy contracts with New
39. What is Library
Chapter Exercise
Details of the exercise
Exercise Solution
Introduction
Environment Setup
How to start developing a smart contract?
How to install Hardhat
How to use Hardhat to create a project?
What is the structure of the Hardhat project?
Introduction
Hardhat Compilation Scripts & Tasks
Artifacts & Cache directories
Solidity Versions
Optimizations
Introduction
The structure of the compiled contract
What is ABI?
How can we use the ABI? Part 1
How can we use the ABI? Part 2