General-purpose languages
Understand typed smart-contract syntax and the safety mindset required for blockchain code.
// Educational syntax only
contract Greeting {
string public message = "Hello";
}COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how solidity toolchains, contracts, and the evm works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how pragmas, declarations, and contract structure works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how state variables, storage, memory, and calldata works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how value types, structs, enums, arrays, and mappings works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, units, overflow, and conversion works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how require, revert, modifiers, and decisions works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how loops, gas limits, and bounded iteration works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how functions, visibility, selectors, and inheritance works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how mappings, arrays, sets, and storage layout works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how strings, bytes, events, and abi encoding works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how errors, checks-effects-interactions, and reentrancy works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, imports, libraries, and upgrade boundaries works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how contracts, interfaces, inheritance, and composition works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how transactions, calls, access control, and oracles works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how testing contracts, invariants, and gas behavior works in Solidity, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.