Advanced Solidity Concepts And Smart Contract Security
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.18 GB | Duration: 3h 42m
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.18 GB | Duration: 3h 42m
Solidity Essentials Course 2: Advanced Smart Contract Development & Security
What you'll learn
Advanced Solidity Concepts: Deep dive into more complex aspects of Solidity, including inheritance, interfaces, and advanced data types.
Implementing Tax and Blacklist Mechanisms: Learn to add real-world features like tax mechanisms and address blacklisting in your smart contracts.
Withdrawal Patterns: Understand how to safely implement withdrawal patterns for tokens.
Developing an Advanced Bank Contract: Create a more complex banking contract that handles ERC20 tokens and interacts with external contracts.
Comprehensive Smart Contract Security: Cover all major security topics in Solidity including reentrancy, overflow/underflow, and gas optimizations.
Building a Security-Oriented Bank Contract: Implement a banking contract with advanced security measures, learning best practices for secure smart contract
Using OpenZeppelin reentrancy Guard and safeERC20
Explanation on the need for Audit and Testing
Requirements
Completion of Course1 or Equivalent Knowledge: This course builds on the basics covered in Part 1, so either completion of the first course or a good understanding of Solidity fundamentals is required.
Solidity Basics: Comfort with writing, deploying, and interacting with basic smart contracts in Solidity.
Programming Proficiency: Strong programming skills, preferably in Solidity or similar languages.
Understanding of Ethereum Blockchain
Description
"Solidity Essentials Course 2: Advanced Smart Contract Development & Security" is a deep dive into the more sophisticated aspects of Solidity and smart contract creation. Tailored for individuals with a foundational understanding of Solidity, this course aims to elevate your skills and knowledge to an advanced level, focusing on complex features and critical security practices. Embark on an immersive learning experience that covers advanced Solidity concepts, including inheritance, interfaces, advanced data types, and integration with external contracts. We explore how to add real-world functionalities to your smart contracts, such as tax mechanisms, blacklisting capabilities, and secure withdrawal methods. A significant focus of this course is on security - a paramount aspect of blockchain development. You will gain in-depth insight into common vulnerabilities and threats, such as reentrancy attacks, and learn the best practices and strategies to safeguard your contracts effectively. These concepts are brought to life through the development of an Advanced Bank contract, which incorporates both Ethereum and ERC20 token transactions, offering you hands-on experience in creating complex and secure decentralized applications. By the end of this course, you will have the skills to construct a Security-Oriented Bank Contract, demonstrating your advanced proficiency in building robust, secure, and efficient smart contracts. This course is not just about learning; it's about mastering the art of secure smart contract development in the blockchain space.
Overview
Section 1: Introduction
Lecture 1 General Introduction
Lecture 2 Course 2 Introduction
Section 2: Course Resourses
Lecture 3 Course 2 Links
Section 3: Blacklist Feature for ERC20
Lecture 4 ERC20 token Blacklist Feature Part 1 (Using Array and Mapping)
Lecture 5 ERC20 token Blacklist Feature Part 2 (Using Mapping only)
Lecture 6 ERC20 token Blacklist Feature Part 3 (Refactor)
Lecture 7 Course 2 Links
Section 4: Tax Feature for ERC20
Lecture 8 ERC20 token Tax Feature Part 1 (Implementation)
Lecture 9 ERC20 token Tax Feature Part 2 (Add to Transfer)
Section 5: Withdraw Token and ETH on ERC20 Contract
Lecture 10 ERC20 token Withdraw Token and ETH (Call External Contract)
Section 6: Deploy Advance ERC20
Lecture 11 ERC20 token Deploy, Verify and Publish, Test
Section 7: Advance Bank App (Communicating with External Contracts)
Lecture 12 AdvanceBank code Part 1 (Initialising external contract)
Lecture 13 AdvanceBank code Part 2 (Deposit Function)
Lecture 14 AdvanceBank code Part 3 (Withdraw and creditAccount Functions)
Lecture 15 AdvanceBank code Part 4 (Deploy, Approve TransferFrom and Deposit testing)
Lecture 16 AdvanceBank code Part 5 (Full Test)
Section 8: Time Feature
Lecture 17 Implementing Time feature
Section 9: Security in Solidity
Lecture 18 Security Part 1 (Introduction and Compiler version)
Lecture 19 Security Part 2 (Overflow, Underflow and Timestamp Dependence)
Lecture 20 Security Part 3 (Variables and Fuctions Visibility and Access Control)
Lecture 21 Security Part 4 (Reentrancy Attack)
Section 10: Security Bank App (Our Bank Contract with Security Features) & Audit
Lecture 22 Security Part 5 (OpenZeppelin ReentrancyGuard)
Lecture 23 Security Part 6 (Unchecked External Calls and OpenZeppelin SafeERC20)
Lecture 24 Security Part 7 (Deploy, Verify and Publish, Test and Word on Audit and Testi
Intermediate Blockchain Developers: Those who have a basic understanding of Solidity and want to deepen their knowledge.,Solidity Developers Seeking Advanced Skills: Individuals looking to learn advanced Solidity concepts and smart contract security.,Security Enthusiasts in Blockchain: Professionals focused on the security aspects of blockchain and smart contract development.,Project Managers and Technical Leads: Managers and leads overseeing blockchain projects who need a deeper understanding of advanced development practices and security considerations.