this article shows how to write a Hello World smart contract program in Solidity.

You have to write the basic first program is Hello World to learn any new language. It explains the basic syntax and How to compile and run the program.

If you are a beginner to blockchain coding, Follow the below steps to Write a first Hello World Smart Contract.

  • Write a Simple First Application Solidity
  • Compile Solidity
  • Deploy and Run the program

Solidity is a high-level programming language to write a smart contract. A smart contract is an independent piece of code that runs on Ethereum Virtual Machines. It can be used to run in public Blockchain(Ethereum) and private blockchain(Hyperledger).

Solidity high-level code is compiled to low-level machine code using a solidity compiler. Machine code is nothing but byte code that runs on Ethereum virtual machine

I will write a separate post about for

  • Solidity Compiler
  • Ethereum Virtual Machine

Now, we use Remix IDE, a Browser-based IDE to create a contract code in solidity. It provides to write, compile and deploy solidity smart contracts

Solidity Hello World First program

In Remix IDE, Create a new file name helloworld.sol. Copy the below code to this file.

pragma solidity ^0.5.0;
contract helloWorld {   
    constructor() public{

    }

    function print () public pure returns (string) {       
        return 'Hello World! First Simple Smart Contract';             
    } 
}

Output:

0: string: Hello World! First Simple Smart Contract

This program contains three parts

  • Solidity version

The first line of the program is a solidity version or pragma to use in a program. It tells the solidity compiler version to compile source files

pragma solidity ^0.5.0;

pragma tells source file is compiled with 0.5.0 version. ^0.5.0 indicates the version 0.5.0 version or more version.

Here is an syntax

pragma solidity ([^;]+) ;
  • Contract class It is an class in Object oriented program language such as Java and typescript. Contains default constructor, called during instance creation of an contract.
constructor() public{

}

This always called only once.

It is a contract defined and it contains a piece of code executed in the blockchain network.

  • Function return a string

the function is declared with name print and visibility is public which means access is available to everyone in the blockchain returns(string) says this function returns the data type of a string.

    function print () public pure returns (string) {       

How to Run solidity First Contract program

call to helloWorld.renderHelloWorld [call] from:0xca35b7d915458ef540ade6068dfe2f44e8fa733c, to:helloWorld.renderHelloWorld(), data:942ae…ae0a7, return: { “0”: “string: helloWorld” }

Write and Run the code

You can use one of the below approaches to run a program.

  • Online IDE: It provides a browser-based editor to write, compile, run the contracts.

    • Remix IDE : Browser based IDE contains following features
      • Writing contracts
      • Compile the contract
      • Deploy contracts to local ethereum fake blockchain network
      • Run the contract
      • beautification of contract code
      • Linter
  • Eth Fiddle Online solidity version of Fiddle

  • Solidity Editors

There are different IDE and Source code editors that provide plugins or package to enhance

  • Atom
  • Visual studio code
  • Intelli with solidity plugin - Install Solidity plugin to have beautify and linter code.
  • Eclipse IDE
  • VIM Editor
  • Sublime