Establishing ownership of a smart contract
A smart contract can be owned and controlled by an externally owned or another contract account.
Sometimes, a smart contract needs to be owned by someone. For example, if you are deploying a smart contract to store your employee details, it should be possible for you to manage some of its operations exclusively. Moreover, you should have control over the lifetime of the smart contract. There are many other use cases, such as in the case of Initial Coin Offerings (ICOs), Decentralized Autonomous Organizations (DAOs), and other industry-related use cases.
The next example shows one of the ways to own a smart contract. It is named ownable
and contains a single state variable, owner
, of the address type. There is a constructor that gets executed at the time of deployment of the contract. Within the constructor, the externally owned address deploying the contract is captured using the msg.sender
global property and is assigned to the state...