Modifiers
Modifiers are another concept unique to Solidity. They help in modifying the behavior of a function. Let's try to understand this with the help of an example. The following code does not use modifiers; in this contract, two state variables, two functions, and a constructor are defined.
One of the state variables stores the address of the account deploying the contract. Within the constructor, the msg.sender
global variable is used to input the account address in the owner state variable. The following functions check whether the caller is the same as the account that deployed the contract. If it is, the function code is executed; otherwise, it ignores the rest of the code.
While this code will work, it can be made better both in terms of readability and manageability. This is where modifiers can help. In this example, the checks are made using the if
conditional statements. Later, in the next chapter, we will see how to use new Solidity constructs, such as require...