(Mastering) Solidity, the Ethereum Programming Language
(Mastering) Solidity, the Ethereum Programming Language, A Practical Developer Guide.
Course Description
This course aims to give an overview of what you need to know to program in Solidity.
The course consists of two parts:
- In the first part, I explain best practices about developing Solidity code, without explaining the Solidity language much. The idea of the first part is to get you quickly started programming Solidity code.
- In the second part, I explain the Solidity language in depth.
The first part of the course is ready and consists of the chapters 2 – 6. I have recorded the videos for the Sepolia testnet. Before the Sepolia testnet is end-of-life in Q4 2026, I will record the videos again for the following Ethereum testnet.
In chapter 2, I explain some basic theory for people who do not know what a blockchain is.
In chapter 3 – 5, I explain tools that are used to develop blockchain applications:
- These chapters explain the development tools Hardhat and Remix.
- You will see Solidity code for making your own cryptocurrency.
- You will see the JavaScript libraries ethers.js and web3.js that are used to interact with the Ethereum blockchain.
- You will see how you can connect a wallet with a blockchain application. I will show MetaMask, which is a popular wallet and also WalletConnect, which acts as a bridge to connect multiple kinds of wallets with an application. I will also show how you can transfer cryptocurrencies in MetaMask.
- You will see how to set up a local test blockchain on your computer and also how to interact with an Ethereum testnet on the Internet.
- You will see how you can register and configure an Ethereum Name.
In chapter 6, I show how you can make a user interface that interacts with the Ethereum blockchain through the ethers.js library, it shows
- how to retrieve the address of a smart contract through an Ethereum Name
- how to read data from the blockchain through a default provider
- how to connect MetaMask or a wallet through WalletConnect with the user interface
- how to execute functions that write data to the blockchain through a connected wallet
- how to search for events emitted by a smart contract
I am still working on the second part of the course that consists of all the chapters beginning from chapter 7. I will add more chapters over time. At the time of writing I have the following chapters online:
- Chapter 7 that explains what the following chapters of this part will be.
- Chapter 8 that explains the lexical elements of Solidity.
- Chapter 9 that explains an SPDX license and pragma directives