August 2019
Intermediate to advanced
486 pages
13h 52m
English
In Solidity, you can write function modifiers to check for any preconditions before executing a function. These modifiers are always inheritable in the inheritance hierarchy. You can also override the definition of the modifiers.
Every modifier must have _; present in its definition, which means that the body of the function where the modifier is used will be placed at this location. It tells the program to go back to where it was originally called to continue execution. The following is an example of the onlyOwner and logAtEnd modifiers being defined:
contract Ownable { address public owner; modifier onlyOwner() { require(msg.sender == owner); _; } constructor() public { owner = msg.sender; }}contract ModifierExample ...