The fallback and receive functions
Both the fallback and receive functions are special type of functions available in Ethereum. The fallback functions were available in previous versions; however, the receive function is relatively new. They are special functions because we cannot invoke these functions directly by using their name. These functions do not accept any parameters or return any values. They must have external scope visibility, and they are defined without the function keyword. Both the fallback and receive functions might sound similar in nature; however, their usage and intent are completely different.
Let's understand the fallback function first. The fallback functions are invoked automatically by the Ethereum Virtual Machine (EVM) when it finds a function call with a name that does not exist within the contract. When a function call is made and that function name does not exist within the contract, the fallback function is invoked automatically. There can only...