First step into Solidity

First step into Solidity

Play this article

Before we dive into Solidity, it's important to understand the basics of blockchain technology. A blockchain is a decentralized, distributed ledger that records transactions and stores data. Each block in the blockchain contains a cryptographic hash of the previous block, a timestamp, and transaction data. This makes the blockchain secure, transparent, and resistant to fraud and manipulation. Ethereum is a blockchain platform that allows developers to build decentralized applications (dApps) on top of it. These dApps are powered by smart contracts, which are self-executing programs that run on the Ethereum Virtual Machine (EVM).

What is Solidity?

The primary purpose of the high-level object-oriented programming language Solidity is to create smart contracts.

Smart Contracts

All you really need to know about smart contracts right now is that they are pieces of code that are stored on the blockchain. In exchange for a small charge, anyone can view or add information to the blockchain's public ledger. It's similar to Amazon Web Services or Heroku, but no one owns it. When it comes to data storage, smart contracts don't have any because they only save their own code. With Ethereum, accounts are the hubs of all activity.

Installing Solidity

The first step to start writing smart contracts in Solidity is to install the Solidity compiler. There are various ways to install Solidity, but the easiest and most convenient way is to use the Remix IDE. Remix is a web-based development environment that allows you to write, test, and deploy smart contracts in Solidity. You can access Remix at

Writing Your First Smart Contract

Once you have installed Solidity, you can start writing your first smart contract. A smart contract is a collection of code that executes on the Ethereum blockchain. The code is written in Solidity and is stored on the blockchain, making it transparent, immutable, and secure.

Let's start with a simple contract that stores a message. Open the Remix IDE and create a new file named "HelloWorld.sol". Copy and paste the following code into the file:

pragma solidity ^0.8.0;

contract HelloWorld {
    string message;

    function setMessage(string memory _message) public {
        message = _message;

    function getMessage() public view returns (string memory) {
        return message;

This contract has a state variable "message", which is a string that stores the message. The contract has two functions: "setMessage" and "getMessage". The "setMessage" function allows you to set the message, and the "getMessage" function allows you to retrieve the message.

Deploying Your Smart Contract

Once you have written your smart contract code, you can deploy it to the Ethereum blockchain. To do this, you need to have an Ethereum account and some Ether (ETH) to pay for gas fees. Gas fees are the fees paid to miners for processing transactions on the Ethereum network.

To deploy your smart contract, follow these steps:

  1. Click on the "Compile" button in the Remix IDE to compile your smart contract code.

  2. Click on the "Deploy & Run Transactions" button to deploy your smart contract to the Ethereum network.

  3. Confirm the transaction and wait for it to be processed by the miners.

Once your smart contract is deployed, you can interact with it using the Remix IDE or any other Ethereum wallet or dApp browser.

What's next?

Solidity is a powerful programming language that allows you to write smart contracts on the Ethereum blockchain. In this blog post, we discussed the first step into Solidity, which is installing the Solidity compiler, creating your first smart contract, and deploying it to the Ethereum network. There is a lot more to learn in Solidity, including data types, control structures, and advanced features like inheritance and interfaces. However, this is a great starting point for anyone interested in writing smart contracts. With the right knowledge and tools, you can create innovative and secure applications on the Ethereum blockchain.