Introduction to smart contracts
Let's begin with the most basic smart contract example, HelloWorld.sol
, shown as follows:
pragma solidity ^0.4.24; contract HelloWorld { string public greeting; constructor() public { greeting = 'Hello World'; } function setNewGreeting (string _newGreeting) public { greeting = _newGreeting; } }
Solidity's file extension is .sol
. It is similar to .js
for JavaScript files, and .html
for HTML templates.
Layout of a solidity source file
A solidity source file is typically composed of the following constructs: pragma, comments, and import.
Pragma
The first line containing the keyword pragma simply says that the source code file will not compile with a compiler earlier than version 0.4.24. Anything newer does not break functionality. The ^
symbol implies another condition—the source file will not work either on compilers beyond version 0.5.0.
Comments
Comments are used to make the source code easier for humans to understand the function of the program...