Cademy logoCademy Marketplace

Course Images

The Complete Solidity Course - Zero to Advanced for Blockchain and Smart Contracts

The Complete Solidity Course - Zero to Advanced for Blockchain and Smart Contracts

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 16 hours 21 minutes

  • All levels

Description

This comprehensive Solidity course is designed for individuals seeking to expand their understanding of Ethereum, blockchain, and smart contract development. Whether you are an aspiring blockchain developer or an Ethereum enthusiast, this course covers all the essential topics including Solidity programming, DApp development, cryptocurrency, and more.

Solidity is the most popular blockchain language in the world designed to build DApplications (Smart Contracts). It powers Ethereum and there is an in-demand exponential growth of high-paying jobs all over the world, which is changing the way we conduct business. The course starts with covering the Solidity fundamentals including variables, if/else, operators, Boolean logic, functions, arrays, modifiers, loops, strings, and more. You will also learn Solidity from scratch with topics such as public and private visibility, struct and Enums, special global and blockchain variables, suffixes, and addresses. You will also learn how Solidity works behind the scenes including the Ethereum Virtual Machine (EVM) and assembly, events and logging blockchain emissions, send versus transfer methods, scoping, and more. There will be a deep dive into functions such as modifier functions, cryptographic functions, fallback functions, and function overloading. Object-oriented programming will also be covered in depth along with advanced patterns. This knowledge will be applied to build an Auction DApplication as well as plug into the live main net and access the Ethereum Blockchain Data through real-world DApplications. Finally, you will learn Solidity techniques that are used by professionals in blockchain including test network deployment, IDE, debugging, and compiling. By the end of the course, you will have the knowledge and confidence that you need in order to ace your Solidity blockchain job interviews and become a professional developer for smart contracts and DApplications.

What You Will Learn

Build multiple complex smart contracts from scratch for your portfolio
Learn Solidity from scratch and master its fundamentals
Learn the different types of functions included in the blockchain functionality
Deep dive into object-oriented programming and study advanced patterns
Learn the Solidity techniques that are used by professionals in blockchain
Work with the Ethereum network and Web3 for debugging, deployment, and compiling

Audience

This course is designed for individuals who want to gain a clear and advanced understanding of Solidity. Whether you are a beginner struggling to learn Solidity or an experienced programmer looking to expand your knowledge, this course is for you. If you are interested in working on a blockchain project, this course will provide you with the skills and knowledge needed to develop smart contracts on the Ethereum network.

The course also caters to those who already know Solidity and are looking for a comprehensive course to cover advanced topics.

No programming experience is required as you will learn everything from the ground up.

Approach

With a clear training model, this comprehensive Solidity course offers video code-alongs, practical challenges, and exercises with solutions and discussions, providing a practical approach to core fundamentals, advanced pattern techniques, multiple real-world examples, and hands-on projects, ensuring that you can master Solidity and smart contracts and become a confident blockchain developer within weeks.

Key Features

Gain industry-level experience and advice, including tips and tricks from a seasoned developer * Learn to write code with templated models (abstract contracts) and clearly document your thought process * Get interview-ready by understanding how Solidity and the EVM (Ethereum Virtual Machine) really work under the hood

Github Repo

https://github.com/PacktPublishing/The-Complete-Solidity-Course---Zero-to-Advanced-for-Blockchain-and-Smart-Contracts

About the Author

Clarian North

Clarian North is a recognized industry-certified instructor, CEO of Orbital LLC, and a senior project engineer with over 90K enrolments worldwide. His students have gone on to work for some of the biggest production companies such as Universal, Google, Amazon, Warner, and the BBC. He has contributed to viral streams, grown a unique digital imprint in over 80 countries, and been featured in Rolling Stone, Billboard, Guardian, Bloomberg, and Vice. He has worked for majors, indies, and international publishing houses, including Grammy-nominated and award-winning productions, mixing for Emirates Airline Inflight Radio, and producing for Kompakt Records. He is dedicated to giving accessible and comprehensive tech courses, teaching complex subject matter with clear and example-based explanations, and guiding students through complex techniques with just a computer and free software.

Course Outline

1. First Steps - How to Succeed in This Course

1. Course Overview

This video provides an overview of the course.

2. What Is a Smart Contract - Solidity

In this video, we will dive into the concept of smart contracts and how they work in the context of the Solidity programming language.

3. What Is an IDE - Remix Ethereum

In this video, you will learn about the integrated development environment (IDE) called Remix Ethereum, including its features and how to use it for Solidity programming and smart contract development.

4. Remix Ethereum - IDE Basics (How to Use an IDE)

In this video, you will learn the basics of using an IDE, specifically Remix Ethereum, for Solidity development including creating a new file.

5. How to Code Along with Me Throughout This Course

This video will guide you on how to code along with me throughout this course, ensuring you have a smooth and enjoyable learning experience.

6. Exercise - Get Familiar with the Remix Ethereum IDE

This is an exercise video to get familiar with the Remix Ethereum IDE.

7. What Are Comments in Solidity

This video helps you understand comments in Solidity. In Solidity, comments are used to document the code and provide information about the code.

8. Why Comments Are Important

This video explores and helps you understand why comments are important in Solidity.


2. Introduction to Solidity (For the Complete Beginner)

1. Solidity for Beginners - Welcome to Your New Journey!

In this video, you will delve into Solidity for beginners and explore the fundamentals of this programming language.

2. Copy and Paste Your First Smart Contract

In this video, you will learn how to copy and paste your first smart contract, which is an essential step in getting started with Solidity programming.

3. Compile and Deploy Your First Smart Contract

In this video, you will learn how to compile and deploy your first smart contract using Remix Ethereum IDE.

4. Exercise - Reconfigure a Solidity Smart Contract

This is an exercise video on reconfiguring a Solidity smart contract.

5. Solution - Reconfigure a Solidity Smart Contract

In this video, we will discuss the solution to the exercise on reconfiguring a Solidity smart contract from the previous video.

6. Introduction to Pragma Solidity (Compiling Versions)

This video provides an introduction to Pragma Solidity (compiling versions).

7. How to Understand Pragma Solidity

In this video, we will explain in detail what the "pragma solidity" statement does in a Solidity smart contract and how it affects the behavior and compatibility of the code.

8. Exercise - Instantiate Solidity

This is an exercise video on instantiating Solidity.

9. Solution - Instantiate Solidity

In this video, we will discuss the solution to the exercise on instantiating Solidity from the previous video.


3. Learn Solidity - Basics I

1. General Introduction to Variables and Types

In this video, we will provide a general introduction to variables and types in the Solidity programming language.

2. Introduction to Booleans, Integers, and Strings

In this video, we will dive into the basics of Boolean values, integers, and strings in Solidity, and how to declare and use them in your smart contracts.

3. Writing Solidity Variables

This video will teach you how to write Solidity variables and define their data types using keywords such as uint, bool, and string.

4. Exercise - Write Solidity Variables

This is an exercise video on how to write Solidity variables.

5. Solution - Write Solidity Variables

In this video, we will discuss the solution to the exercise on writing Solidity variables from the previous video.

6. What Are Functions in Solidity

This video will introduce you to the concept of functions in Solidity.

7. How to Write Functions in Solidity

In this video, you will learn the basics of writing functions in Solidity, including function syntax, return values, and more.

8. Scope - Functions and Variables in Solidity

In this video, you will learn about the scope in Solidity, including how functions and variables can have different scopes and how it affects their accessibility within a contract.

9. Exercise - Write Your First Smart Contract - Calculator

This is an exercise video where you will learn how to write your first smart contract in Solidity by building a calculator.

10. Solution - Write Your First Smart Contract - Calculator

In this video, we will discuss the solution to the exercise on writing your first smart contract in Solidity by building a calculator from the previous video.


4. Learn Solidity - Basics II (Conditional Logic, Scope, and Visibility)

1. Decision-Making in Solidity

In this video, we will be discussing decision-making in Solidity and how it works.

2. How to Write If else Statements in Solidity

In this video, we will cover the basics of decision-making in Solidity by exploring how to write if-else statements. You will learn how to use conditionals to create logic that allows your smart contracts to make decisions based on certain criteria.

3. Exercise - Write an Airdrop If Statement in Solidity (Exercise with Solution)

This is an exercise along with a solution video on writing an Airdrop If statement in Solidity.

4. Visibility - Public Private Internal External - in Solidity

In this video, we will discuss visibility in Solidity and the different visibility modifiers, including public, private, internal, and external. We will go over how these modifiers can restrict access to variables and functions within a contract and how they impact the contract's functionality.

5. Scope and State in Solidity

In this video, we will be discussing scope and state in Solidity, covering the difference between state variables and local variables, how scope affects the accessibility of variables and functions, and the importance of understanding state and scope when writing smart contracts.

6. Exercise - Strengthen Your Understanding of Scope and State

This is an exercise video on strengthening your understanding of Scope and State.

7. Solution - Strengthen Your Understanding of Scope and State

In this video, we will discuss the solution to the exercise on strengthening your understanding of Scope and State from the previous video.

8. Visibility - Public Private Internal External - in Solidity II

In this video, we will dive deeper into the concept of visibility in Solidity, exploring the differences between public, private, internal, and external visibility modifiers and how to use them effectively in your smart contracts.

9. Visibility - Public Private Internal External - in Solidity III

In this video, we will dive deeper into Solidity visibility modifiers and explore more advanced topics and their practical applications in smart contract development.

10. Operators in Solidity

In this video, you will learn about Operators in Solidity and how they can be used to perform mathematical and logical operations on variables.

11. Arithmetic Operators in Solidity

In this video, you will learn about arithmetic operators in Solidity and how to use them to perform basic mathematical operations such as addition, subtraction, multiplication, and division on numerical data types like integers and floats.

12. The Remainder Operator in Solidity

In this video, you will learn about the remainder operator in Solidity, which is used to find the remainder of a division operation.

13. How to Calculate the Modulo Remainder - Trick

In this video, we will explore a neat trick for calculating the modulo remainder of two numbers in Solidity using bitwise operations.

14. Exercise - Arithmetic Operator

This is an exercise video on arithmetic operators.

15. Solution - Arithmetic Operator

In this video, we will discuss the solution to the exercise on arithmetic operators from the previous video.

16. Comparison Operators in Solidity

In this video, you will learn about comparison operators in Solidity and how to use them to compare values and produce Boolean results.

17. Exercise - Comparison Operators

This is an exercise video on comparison operators.

18. Solution - Comparison Operators

In this video, we will discuss the solution to the exercise on comparison operators from the previous video.

19. Logical Operators in Solidity

This video introduces logical operators in Solidity and explains how to use them to make decisions in your smart contracts.

20. Exercise - Logical Operators

This is an exercise video on logical operators.

21. Solution - Logical Operators

In this video, we will discuss the solution to the exercise on logical operators from the previous video.

22. The Assignment Operator in Solidity

This video explains how to use the assignment operator to assign values to variables in Solidity.

23. Exercise - Final Solidity Operator Test

This is an exercise video on the final Solidity operator test.

24. Solution - Final Solidity Operator Test

In this video, we will discuss the solution to the exercise on the final Solidity operator test from the previous video.


5. Learn Solidity - Basics III

1. How to Improve Your Skills with This Course

In this video, you will learn some tips and tricks to improve your skills and get the most out of this course along with providing you with the review of the concepts learned till now.

2. Review - Modulo and Fun Math in Solidity

In this video, we will review the concepts of modulo and other fun math operations in Solidity.

3. The For Loop in Solidity

In this video, you will learn about the For loop in Solidity, a powerful control structure that allows you to repeat a block of code for a specified number of times or until a certain condition is met.

4. Exercise - How to Loop in Solidity

This is an exercise video on how to loop in Solidity.

5. Solution - How to Loop in Solidity

In this video, we will discuss the solution to the exercise on how to loop in Solidity from the previous video.

6. Strings in Solidity

In this video, you will learn about strings in Solidity and how to declare and initialize them.

7. Memory Keyword in Solidity

In this video, you will learn about the memory keyword in Solidity, its significance, and how it is used to manage data in memory during the execution of a function.

8. Bytes Versus Strings in Solidity I

In this video, you will learn about the difference between bytes and strings in Solidity.

9. Bytes Versus Strings in Solidity II

In this video, we will continue our discussion on the difference between bytes and strings in Solidity. Additionally, we will cover some important use cases for bytes and strings in smart contracts.

10. Exercise - Writing Strings in Solidity

This is an exercise video on writing strings in Solidity.

11. Solution - Writing Strings in Solidity

In this video, we will discuss the solution to the exercise on writing strings in Solidity from the previous video.


6. Structures and Libraries in Solidity

1. What Are Constructors in Solidity

In this video, you will learn about constructors in Solidity and how they are used to initialize state variables in a smart contract.

2. Exercise - Build a Constructor in Solidity

This is an exercise video on building a constructor in Solidity.

3. Solution - Build a Constructor in Solidity

In this video, we will discuss the solution to the exercise on building a constructor in Solidity from the previous video.

4. Arrays in Solidity - Pop, Push, and Length Methods

In this video, you will learn about arrays in Solidity and the pop, push, and length methods associated with them. We will cover the basics of declaring and initializing arrays, as well as how to add and remove elements from them using the pop and push methods.

5. Arrays in Solidity - Delete

In this video, you will learn about the "delete" keyword in Solidity, which can be used to delete elements from an array.

6. Exercise - Compact Array

This is an exercise video on a compact array.

7. Solution - Compact Array

In this video, we will discuss the solution to the exercise on a compact array from the previous video.

8. What Are Enums in Solidity

In this video, you will learn about Enums in Solidity, which allows you to create a custom data type with a fixed set of possible values.

9. Exercise - How to Write Enums

This is an exercise video on how to write Enums in Solidity.

10. Solution - How to Write Enums

In this video, we will discuss the solution to the exercise on how to write Enums in Solidity from the previous video.

11. What Are Structs in Solidity

In this video, you will learn about structs in Solidity, which are user-defined data types that allow you to group related data together.

12. Exercise - Structs in Solidity

This is an exercise video on structs in Solidity.

13. Solution - Structs in Solidity

In this video, we will discuss the solution to the exercise on structs in Solidity from the previous video.

14. Mapping in Solidity

In this video, we will cover one of the most important data structures in Solidity: mappings. Mappings are a way to associate values to unique keys and are used in many smart contracts for storing and retrieving data efficiently. By the end of this video, you will have a solid understanding of mappings and how they can be used in your Solidity smart contracts.

15. Exercise - Set Keys and Values

This is an exercise video on setting keys and values.

16. Mapping and Struct Assignment

In this video, we will dive into the concept of mapping and how to use it in Solidity. We will also explore how to assign a struct to a mapping, and the different ways to retrieve the values stored in a mapping. By the end of this video, you will have a solid understanding of how to use mapping and structs together in Solidity.

17. Solution - Mapping and Struct Assignment

In this video, we will discuss the solution to the exercise on mapping and struct assignment from a previous video.

18. Nested Mapping in Solidity

In this video, we will explore the concept of nested mappings in Solidity. By the end of this video, you will have a clear understanding of how nested mappings work in Solidity and how to use them in your own smart contracts.


7. Learn Solidity Basics IV (Conversions and Special Variables)

1. Bits and Units - Conversion in Solidity

In this video, you will learn about bits and units and how to convert them in Solidity.

2. Exercise - Bits and Bytes

This is an exercise video on bits and bytes.

3. Solution - Bits and Bytes

In this video, we will discuss the solution to the exercise on bits and bytes from the previous video.

4. Ether Units and Denominations in Solidity

In this video, we will explore the different units and denominations used for Ether in Solidity.

5. Exercise - Assert Ether to Wei

This is an exercise video on how to assert Ether to Wei.

6. Solution - Assert Ether to Wei

In this video, we will discuss the solution to the exercise on asserting Ether to Wei from the previous video.

7. Exercise - Assert Time and Dates Suffix in Solidity

This is an exercise video on asserting time and dates suffix in Solidity.

8. Solution - Assert Time and Dates Suffix in Solidity

In this video, we will discuss the solution to the exercise on asserting time and dates suffix in Solidity from the previous video.

9. Global Variables in Solidity I

In this video, you will learn about global variables in Solidity, which are pre-defined variables that can be accessed from anywhere in the contract.

10. Global Variables in Solidity II

In this video, you will learn about some of the most commonly used global variables in Solidity, which can help you write more efficient and secure smart contracts. By the end of this video, you will have a solid understanding of global variables and how to use them in your Solidity projects.

11. Special Variables

In this video, you will learn about special variables in Solidity, which are pre-defined variables that hold important information about the contract and the blockchain.


8. Learn Functions in Solidity

1. Overview of Functions in This Solidity Course

This video provides an overview of functions in this Solidity course.

2. What Are Function Modifiers in Solidity

In this video, you will learn about function modifiers in Solidity. Function modifiers are special functions that can be used to modify the behavior of functions in Solidity.

3. How to Write a Function Modifier in Solidity

In this video, you will study how to write a function modifier in Solidity from scratch.

4. Exercise - Write a Function Modifier

This is an exercise video on writing a function modifier.

5. Solution - Write a Function Modifier

In this video, we will discuss the solution to the exercise on writing a function modifier from the previous video.

6. The View Keyword in Solidity

In this video, you will learn about the view keyword in Solidity. The view keyword is used to indicate that a function does not modify the state of the contract. It is similar to the constant keyword, which was used in earlier versions of Solidity. Using the view keyword can help increase the efficiency of your code because it allows the compiler to optimize the function's execution by not having to save any changes to the blockchain.

7. What Does Pure Mean in Solidity

In this video, you will learn about the pure keyword in Solidity. Pure functions are a type of function in Solidity that guarantees that they will not read from or modify the state of the contract. These functions are useful for performing calculations and transformations on data without affecting the state of the contract. We will explore the syntax and usage of pure functions and see some examples of how they can be used in smart contract development.

8. Exercise - View and Pure Functions

This is an exercise video on the View and Pure functions.

9. Solution - View and Pure Functions

In this video, we will discuss the solution to the exercise on the View and Pure functions from the previous video.

10. Returning Multiple Data Types with Functions in Solidity

In this video, you will learn how to return multiple data types with functions in Solidity. We will understand why returning multiple values can be useful and then dive into the syntax and implementation of such functions in Solidity.

11. Destructuring and Multiple Returns from Functions in Solidity

In this video, you will learn how to use destructuring and multiple returns from functions in Solidity. Destructuring is the process of breaking down a data structure into smaller parts. In Solidity, destructuring is used to extract data from multiple return values. We will start by looking at how to return multiple values from a function. Then, we will explore how to use destructuring to assign those values to separate variables.

12. Exercise - Destructuring and Multiple Returns from Functions in Solidity

This is an exercise video on destructuring and multiple returns from functions in Solidity.

13. The Fallback Function in Solidity I

The fallback function in Solidity is a function that gets called when a contract receives a transaction without any function specified in the transaction data. It is a special function that has no name and no arguments. It is used to handle unexpected transactions or to implement custom payment mechanisms. In this video, you will learn what the fallback function is, how it works, and how to implement it in Solidity. We will also see some examples of how it can be used in practice.

14. The Fallback Function in Solidity II

In this video, you will create a new contract that will send ether to the fallback contract, which will trigger fallback functions.

15. The Fallback Function in Solidity III

This video will help you with deploying and debugging your Solidity contracts using Remix IDE. By the end of the video, you will have a clear understanding of the fallback function and be able to implement it in your own Solidity contracts.

16. Exercise - Write a Fallback Function

This is an exercise video on writing a fallback function.

17. Function Overloading in Solidity

In this video, we will cover the concept of function overloading in Solidity. Function overloading allows you to define multiple functions with the same name but different parameter types, which can help you write more modular and reusable code. We will walk through the syntax and rules for function overloading, as well as some examples to illustrate its usefulness in Solidity programming.

18. Exercise - Write a Function Overload

This is an exercise video on writing a function overload.

19. Solution - Write a Function Overload

In this video, we will discuss the solution to the exercise on writing a function overload from the previous video.

20. What Are Cryptographic Functions

In this video, we will be discussing cryptographic functions in Solidity. Cryptographic functions play a critical role in securing smart contracts and ensuring that data transmitted over the blockchain is kept private and tamper-proof. We will go over some of the most commonly used cryptographic functions in Solidity.

21. Build a Random Generator Function

In this video, you will learn how to build a random generator function in Solidity. The video will cover the basic principles of generating random numbers in a deterministic environment like the Ethereum blockchain.

22. Smart Contract Oracles

In this video, you will learn about Smart Contract Oracles, which are third-party services that provide external data to smart contracts. You will understand the importance of Oracles in smart contract development, the challenges of using Oracles, and how to integrate Oracles in your Solidity smart contracts.

23. Exercise - Cryptographic Oracle Contract

This is an exercise video on a cryptographic Oracle contract.

24. Solution - Cryptographic Oracle Contract

In this video, we will discuss the solution to the exercise on a cryptographic Oracle contract from the previous video.


9. Solidity Patterns I - Cybersecurity

1. Obvious (But Helpful) Advice - Take Your Time with New Things

This video helps you with some helpful advice on Solidity and how to go about it. It will help you understand how to work around with the newer concepts you have learned so far.

2. Leveling Up in Solidity

This video helps you with leveling up in Solidity by learning new concepts.

3. Pop Quiz - Looping and Transactions in Solidity

This is a pop quiz video on looping and transactions in Solidity.

4. Solution - Pop Quiz - Looping and Transactions in Solidity

In this video, we will discuss the solution to the pop quiz on looping and transactions in Solidity from the previous video.

5. Smart Contracts - Points of Failure

In this video, we will discuss the different points of failure that can occur in a smart contract. We will go through some examples of how contracts can be exploited by attackers and discuss some best practices for avoiding common vulnerabilities such as reentrancy, overflow, underflow, and more. By the end of this video, you will have a better understanding of the potential risks involved in writing and deploying smart contracts and how to write more secure and robust code.

6. Should Contracts Be Allowed to Receive Funds? (Thought Experiment)

In the world of blockchain and cryptocurrencies, smart contracts have the ability to receive and transfer funds. However, this raises the question of whether contracts should be allowed to receive funds or not. On one hand, allowing contracts to receive funds can enable them to carry out certain functions such as paying out rewards or collecting fees. On the other hand, this could also make them vulnerable to attacks or mistakes that could result in the loss of funds. In this thought experiment video, we will explore the pros and cons of allowing contracts to receive funds and examine some potential scenarios where this feature could be useful or problematic. Ultimately, the decision of whether or not to allow contracts to receive funds depends on the specific use case and the level of risk that one is willing to accept.

7. A Vulnerable Smart Contract

In this video, we will discuss what a vulnerable smart contract is and how it can be exploited.

8. How to Hack a Smart Contract (Malicious Constructor Trick)

In this video, you will learn how to exploit a vulnerable smart contract using the malicious constructor trick. The video will begin with an introduction to the concept of constructor in Solidity, followed by an explanation of the malicious constructor trick.

9. Coding in Terms of Higher Patterns

In this video, you will learn about coding in terms of higher patterns in Solidity.

10. Transfer Versus Send Method in Solidity

This video discusses the differences between the "transfer" and "send" methods in Solidity, which are used to transfer Ether between accounts. The video covers the potential risks of using the "send" method, which can result in a denial-of-service (DoS) attack, and how the "transfer" method can mitigate these risks. The video also provides examples of how to use these methods in Solidity smart contracts.

11. The Withdrawal Pattern in Solidity

In this video, you will learn about the withdrawal pattern in Solidity. We will understand the need for the withdrawal pattern in smart contract development, how it can prevent potential vulnerabilities, and how to implement it in a smart contract.

12. Exercise - Write a Withdrawal Function

This is an exercise video on writing a withdrawal function in Solidity.

13. Solution - Write a Withdrawal Function in Solidity

In this video, we will discuss the solution to the exercise on writing a withdrawal function in Solidity from the previous video.


10. Solidity Patterns II - Restricted Access

1. The Restricted Access Pattern

The Restricted Access Pattern is a design pattern in Solidity that restricts access to certain functions or data within a smart contract to only authorized parties. This pattern is useful for controlling the flow of operations within a smart contract and preventing unauthorized access or manipulation of sensitive data. In this video, we will discuss how to implement the Restricted Access Pattern in Solidity.

2. Exercise - Modifier Function

This is an exercise video on the modifier function.

3. Solution - Modifier Function

In this video, we will discuss the solution to the exercise on the modifier function from the previous video.

4. Only After Modifier in Solidity I

The "Only After" modifier is a very useful Solidity modifier that allows a function to be executed only after a specific period of time has passed since the contract was created or since the last time the function was executed. This can be helpful in preventing certain actions from being taken too frequently or too soon after the contract has been deployed. In this video, you will learn how to implement the "Only After" modifier in Solidity.

5. Only After Modifier in Solidity II

In this video, we will continue our discussion on the "Only After" modifier in Solidity. By the end of the video, you will have a solid understanding of how to use the "Only After" modifier in a variety of situations to improve the security and functionality of your Solidity contracts.

6. Exercise - Cost Restriction in Solidity

This is an exercise video on cost restriction in Solidity.

7. Solution - Cost Restriction in Solidity

In this video, we will discuss the solution to the exercise on cost restriction in Solidity from the previous video.

8. Optional Bonus - Cost Restriction in Solidity

This is an optional video that provides bonus examples on cost restriction in Solidity to leverage your learning.


11. Learn Advanced Solidity I (Inheritance and Abstractions)

1. Introduction to Advanced Solidity

This video provides an introduction to advanced Solidity.

2. What are Contracts Review in Solidity

This video explores the concept of contract reviews in Solidity and how they can help improve the security and reliability of your smart contracts.

3. Exercise - Contract Visibility Advanced

This is an exercise video on contract visibility advanced.

4. Review - Public Private External and Internal in Solidity

In this video, you will learn about the difference between the public, private, external, and internal visibility modifiers in Solidity, and when to use them in your smart contracts.

5. Entrance Exam for the Advanced Solidity Sections

This video focuses on the advanced topics in Solidity and how you can go about it. This is also an exercise video on contract visibility in Solidity.

6. Solution - Contract Visibility Advanced I

In this video, we will discuss the solution to the exercise on contract visibility advanced from the previous video.

7. Solution - Contract Visibility Advanced II

In this video, we will continue to discuss the solution to the exercise on contract visibility advanced from the previous video. Here, you will move ahead with what was left in the previous video, and finally deploy and debug to get relevant output.

8. What Is Inheritance in Solidity

This video explains the concept of inheritance in Solidity, a way to reuse and extend the functionality of smart contracts.

9. Exercise - Inheritance with Smart Contracts

This is an exercise video on inheritance with smart contracts.

10. Solution - Inheritance with Smart Contracts

In this video, we will discuss the solution to the exercise on inheritance with smart contracts from the previous video.

11. What Exactly are Events in Solidity

This video explains the concept of events in Solidity, including their purpose, syntax, and usage in smart contract development.

12. What are Abstract Contracts in Solidity

In this video, you will learn about abstract contracts in Solidity, which are contracts that cannot be deployed and are used as base contracts to be inherited from.

13. Virtual and Override in Abstract Contracts

This video explains how to use the virtual and override keywords in abstract contracts in Solidity, allowing child contracts to inherit and override functions from parent contracts.

14. Exercise - Abstract Contract Calculator

This is an exercise video on abstract contract calculator.

15. Solution - Abstract Contract Calculator

In this video, we will discuss the solution to the exercise on abstract contract calculator from the previous video.


12. Learn Advanced Solidity II

1. What Are Interfaces in Solidity

This video explains what interfaces are in Solidity and how they are used to enforce standardized behavior across contracts.

2. Injected Web3 Interface Exercise Prerequisite

In this video, you will learn the prerequisites required for understanding and working with Injected Web3 interfaces in Solidity programming. It also covers topics such as Web3.js, Metamask, or other tools and technologies used in web3 development.

3. Exercise - Uniswap Interactions with Interfaces

This is an exercise video on Uniswap interactions with interfaces.

4. Solution - Uniswap Interactions with Interfaces

In this video, we will discuss the solution to the exercise on Uniswap interactions with interfaces from the previous video.

5. What Are Libraries in Solidity

In this video, you will learn about libraries in Solidity, which are a way to reuse code and can be deployed as separate contracts or included in the main contract bytecode.

6. Exercise - Access Library Using A for B Pattern

This is an exercise video on accessing a library using the A for B pattern.

7. Solution - Access Library by Using A for B

In this video, we will discuss the solution to the exercise on accessing a library using the A for B pattern from the previous video.

8. Assembly and EVM OpCodes with Solidity

This video covers the topic of Assembly and EVM OpCodes in Solidity, exploring the low-level programming language of Ethereum and how to use it to optimize smart contracts.

9. How to Write Assembly in Solidity

In this video, you will learn about how to write the Assembly language in Solidity and use it to optimize smart contracts.

10. Exercise - Use Assembly to Run Byte Conversions

This is an exercise video on using Assembly to run byte conversions.

11. Solution - Use Assembly to Run Byte Conversions

In this video, we will discuss the solution to the exercise on using Assembly to run byte conversions from the previous video.

12. Overview of Error Handling in Solidity

This video provides an overview of error handling in Solidity.

13. How Does Require Work in Solidity

In this video, you will learn how the "require" statement works in Solidity and how it can be used to validate input parameters and conditions in your smart contracts.

14. How Does Revert Work in Solidity

In Solidity, revert() is used to stop the execution of a contract and return the remaining gas to the sender while require() is used to stop the execution, revert any changes made to the state, and consume all gas supplied by the sender. This video focuses on how revert() works and the situations in which it should be used in a Solidity smart contract.

15. How Does Assert Work in Solidity

In this video, you will learn how the assert() function works in Solidity and how it differs from the require() and revert() functions in terms of error handling and gas usage.

16. Exercise - Error Handling in Solidity

This is an exercise video on error handling in Solidity.

17. Solution - Error Handling in Solidity

In this video, we will discuss the solution to the exercise on error handling in Solidity from the previous video.

18. Final Exercise - Build an Auction DApplication

This is a final exercise video on building an Auction DApplication.

19. Solution - State Variables and Constructor - Auction

In this video, we will discuss the solution to the exercise on building an Auction DApplication from the previous video, where you will write a smart contract for an auction in Solidity, including the use of state variables and constructors. You will also see how to implement bidding and withdraw functions within the contract.

20. Solution - Bid Function - Auction

In this video, we will continue to discuss the solution to the exercise on building an Auction DApplication from the previous video, where you will learn how to implement the bid function in an auction smart contract in Solidity. The bid function allows users to place bids on an auction and updates the current highest bid and bidder. The implementation includes checking whether the auction has ended and whether the bid amount is higher than the current highest bid.

21. Solution - Withdrawal Function - Auction

In this video, we will continue to discuss the solution to the exercise on building an Auction DApplication from the previous video, where you will learn how to create a withdrawal function in a Solidity smart contract for an auction, allowing bidders to withdraw their bids if they are not the winning bidder.

22. Solution - Final Auction Solution

In this video, we will continue to discuss the solution to the exercise on building an Auction DApplication from the previous video, where you will finally deploy and debug the solution code for building an Auction DApplication from scratch.

Course Content

  1. The Complete Solidity Course - Zero to Advanced for Blockchain and Smart Contracts

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews