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.
A solidity source file is typically composed of the following constructs: pragma, comments, and import.
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.