The structure of a smart contract
A is akin to a class. It can functions, modifiers, state variables, events, structures, and enums. Contracts also support inheritance. You can implement inheritance by copying code during compiling. Smart contracts can also be polymorphic.
The following an example of a smart contract:
contract Sample { //state variables uint256 data; address owner; //event definition event logData(uint256 dataToLog); //function modifier modifier onlyOwner() { if (msg.sender != owner) throw; _; } //constructor function Sample(uint256 initData, address initOwner){ data = initData; owner = initOwner; } //functions function getData() returns (uint256 returnedData){ return data; } function setData(uint256 newData) onlyOwner{ logData(newData); data = newData; } }
Let's see how the aforementioned code works:
- First, we used the
contract
...