Skip to main content
grasp.study
Back to course
Log in
Get started
Someone wanted to learn this too, so Grasp built them a personal learning path.
Create your own
Blockchain for Tokenized Money
ยท
Module 4
Advanced Solidity and Security Patterns
1
Contract Inheritance, Abstract Contracts, and Interfaces
Implement contract inheritance and use abstract contracts and interfaces.
2
Modeling Data with Structs and Enums
Use structs and enums to model complex, domain-specific data.
3
Solidity Error Handling: `require`, `revert`, and Custom Errors
Handle errors effectively using `require`, `revert`, and custom errors.
4
Data Locations and Gas Optimization
Distinguish between `storage`, `memory`, and `calldata` data locations to optimize for gas.
5
Function Modifiers for Access Control
Write and apply function modifiers for reusable checks, such as access control.
6
Reentrancy: Checks-Effects-Interactions Pattern
Describe the reentrancy vulnerability and prevent it using the checks-effects-interactions pattern.
7
Implementing ReentrancyGuard with OpenZeppelin
Use OpenZeppelin's `ReentrancyGuard` as a practical defense against reentrancy attacks.
8
Solidity's Integer Overflow/Underflow Protection
Explain how Solidity v0.8+ built-in checks protect against integer overflow/underflow.
Previous module
Smart Contract Testing with Hardhat
Next module
ERC-20: The Fungible Token Standard