
This course is structured into five sections:
Introduction
Environment Setup
Solidity (Understanding the language)
Advance (Build a Payable smart contract and UI)
Finally Build a Defi app
Ethereum is the community-run technology powering the cryptocurrency, ether (ETH), and thousands of decentralized applications.
Visit https://nodejs.org/en/download/ to download and install node
Run command npm to confirm node installation
Run command npm install -g solc to install the solidity compiler
Theme - Atom Material UI
Packages to install
autocomplete-solidity by austp
autosave-onchange by chexwarrior
emmet
language-dotenv by rjocoleman
language-solidity by jesseweed
linter-solidity by latrasis
platformio-ide-terminal by platformio
readme by josa 42
https://metamask.io/download.html
https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain
Request Fake BNB
https://testnet.binance.org/faucet-smart
Request Fake ETHER
https://www.rinkeby.io/#faucet
Discover the Solidity file layout, license and pragma usage, and contract structure, including state variables, functions, events, and comment-based documentation plus ownable access control.
Explore function types in solidity, including internal, private, and public, and how visibility affects call scope. Learn about pure functions, state reads/writes, memory usage, and multiple returns with argument destructuring.
Explore reference types in Solidity, compare storage versus memory, and understand how arrays copy or reference data, how updates affect stored values, and contract lifetime behavior.
Master mapping types in Solidity by modeling balances and allowances with addresses and integers, and understand explicit and implicit conversions that express value type compatibility.
Explore implicit and explicit type conversion in Solidity, showing how the compiler performs implicit conversions in assignments and operators, and why explicit conversions help avoid information loss and unexpected results.
Explore the three types of variables in Solidity, including local variables, global variables, and state variables, and learn how memory allocation and encapsulation govern their scope and use.
Learn how function modifiers in Solidity enforce access control and pre/post conditions, demonstrating input validation and guarded operations to prevent unauthorized withdrawals and duplicate calls.
Learn how Solidity receive and fallback functions handle ether transfers and unknown calls, and how callback functions relate to contract interactions.
Learn how function overloading allows multiple functions with the same name to differ by parameter type, enabling flexible function calls in Ethereum programming.
Learn how Solidity enables multiple inheritance and how contracts derive from others. Declare virtual functions and override them in child contracts, and deploy and interact with inherited behavior.
learn how events enable logging and how indexed parameters and topics support querying by address and transfers, with sample code showing firing and listening to events in smart contracts.
Discover how a constructor in solidity runs when deploying a contract and how to pass arguments to it, including the two ways to call the constructor when inheritance is involved.
Define and leverage interfaces and abstract contracts to standardize smart contract interactions; implement or override functions, and call methods by passing contract addresses and function signatures.
Master Solidity error handling by using require, revert, assert, and try/catch to guard state changes, manage exceptions, and ensure safe smart contract interactions.
Learn how to handle errors from external calls in Solidity using try and catch, including how call, delegatecall, and staticcall influence error propagation and recovery.
Compare sending ether from smart contracts using transfer, send, and the low-level call.value. Understand gas considerations, typical use cases, and safety notes like using modifiers to guard against risky calls.
Learn how to call other contracts in Solidity using low-level call and delegatecall, with interfaces, function signatures, and proxy patterns for upgradeable contracts.
Explore Solidity libraries, embedded versus deployed patterns, and linking libraries to contracts to prevent overflow and underflow in unsigned integers using a popular library's safe math.
Learn how to link a deployed Solidity library instead of embedding and redeploying, by copying its address into your contract and deploying against the deployed library on the correct network.
Explore the relationship between wei and ether in Solidity, learn why 1 ether equals 10^18 wei, and understand using the smallest unit to avoid decimals in smart contracts.
Install Truffle and Ganache on your system, write and migrate smart contracts, and deploy them to a local blockchain while learning the development workflow with migrations, contracts, and tests.
Learn to declare a solidity smart contract with license and pragma, implement ownership and transfer ownership, emit transfer events for funds, enable withdrawal, and include a kill switch for self-destruct.
Compile and deploy smart contracts to a Ganache network using Truffle, configure a workspace, generate addresses, and migrate contracts with migration flows.
Learn how to test payable smart contracts by using prewritten tests, validating deployments, ownership transfers, admin restrictions, and withdrawal and balance checks with Chai.
Learn to debug and deploy Ethereum smart contracts with Truffle and scripts, by tracing transactions, verifying contract states, and validating deployments.
Connect to the rinkeby test network via Infura, configure a provider with mnemonic, deploy smart contracts through migrations, and verify the deployed contract on the network.
Learn to build a Bootstrap-based UI that uses ethers.js to deploy and interact with Ethereum smart contracts, including deposits, withdrawals, and ownership transfers, with wallet interactions and events.
Learn how upgradeable smart contracts work using proxy patterns and OpenZeppelin libraries, including proxy and implementation contracts, initialize patterns, and storage safety.
Redeploy a version 1 payable smart contract to Ganache by setting up dependencies, initializing contracts, and performing migrations, while managing gas, imports, and proxy deployments.
Redeploy version two payable contract to Ganache, compile and deploy, test, and discuss migration and incremental features for smart contracts, with emphasis on quality and function.
Explore the compound protocol that enables supplying assets, earning interest, and borrowing. Learn how exchange rates, tokenized assets, and smart contracts power these operations in Ethereum programming.
What problem are we solving by building this Defi Smart Contract
Practice minting test Dai on Ethereum by testing smart controls, cloning the repository, and using the command line to interact with addresses and contracts.
Master Solidity and Ethereum programming through persistent practice, study the Solidity documentation, watch YouTube tutorials, read open-source code on GitHub, and iteratively improve while seeking help and auditing.
This course is a practical guide on how to become a blockchain developer.
You will learn and understand every syntax of Solidity in Depth. You will also learn how to use Ethereum development tools such as Truffle, Remix, Ganache CLI & Client, Metamask, EthersJS, Infura, and many others to aid you in your Development journey.
You will be building two real-life example projects, both Defi applications, and deploy them on both the Binance Smart Chain and Ethereum networks. You will also get to build a UI for one of the Defi Smart contracts to integrate and interact with it from your browser using Metamask or Trust Wallet.
By the end of this course, I guarantee you that you will have acquired enough knowledge to apply for a Solidity developer role. You will find that you will become confident to take on any ethereum or Binance Smart Chain project, provided you can complete this course and put in the extra work required.
I will be updating this course regularly to not only keep up with breaking changes in Solidity. I will be adding more course content to cover various topics from student feedback, and what I know would help anyone taking this course build more real-life applications using Solidity.
So what are you waiting for, purchase this course with 30 days money-back guarantee from Udemy and enjoy lifetime updates without any need to sign up for another Blockchain development course