A Basic Guide on How To Create Ethereum Smart Contract

Ethereum is a mature platform to create smart contracts and decentralized applications(Dapps). Follow these steps to Create, Test, and Deploy Smart Contracts.

Guide on How To Create Ethereum Smart Contract

Overview

In the recent past, we published a blog post that highlights the impact and importance of Blockchain technology. This technology is based on some core concepts such as Smart Contracts, Nodes, Mining, Consensus Algorithms, Digital Transactions, and Peer-to-Peer Network.
In this article, We will learn how to build an Ethereum Smart Contract by covering the following bullet points.

What is a Smart Contract?

A smart contract is a program that runs on the Blockchain to govern the digital transactions. This piece of code contains the defined rules and procedures which make sure the transparency of a transaction. Every smart contract contains an address and that address is used to access any function of a particular smart contract. There are many Blockchain platforms such as Ethereum, Ripple, Corda, and some more, however, in this guide, we will build our first smart contract on Ethereum.

How to Build a Basic Smart Contract?

In this section, we will see the steps to set up the environment for our first smart contract.

Smart contracts can be written in many languages but, we will use Solidity that is a high-level language to write smart contracts.

We will use Ethereum Studio that is a web-based IDE. It is used to write smart contracts as well as the decentralized apps to interact with smart contracts. It provides some pre-built project templates where you can start writing your logic right away.

So, open the Ethereum Studio IDE into the browser and you will see the following interface.

Ethereum Smart Contract

Let’s chose “Hello World” option and create our first project. You can see the directory structure. Further, there is an output window on right-hand side.

Ethereum Smart Contract

There are two folder “app” and “contracts”.

app folder belongs to the web app and contains the following files.

  • app.css: For layout styling
  • app.html: For Home page
  • app.js: Contains the business logic to connect front end with the smart contract

Similarly, contracts folder contains the source file of the contract.

Now, let’s open the HelloWorld.sol file that can be found at Files/contracts/HelloWorld.sol. Basically, this is the main file that contains the code for smart contract written in Solidity. You can modify the code if you want, we will leave it as it is.

How to Run and Deploy with a Smart Contract?

Ethereum Studio compiles the Solidity code into byte code. Therefore, save the code and let’s deploy our first smart contract.

On the left hand side panel, press the Rocket icon.

Ethereum Smart Contract

You can configure and set the initial values for your smart contract as shown below.

Ethereum Smart Contract

Hit the “Save” button and press the “Deploy” button to deploy the smart contract. You will see the following output and a message in the console window at the bottom. Console window gives details such as smart contract address, Nonce, Gasslimit.

Ethereum Smart Contract

After that, there is another option on the panel on left hand side and that is the Interact option. This option allows you to interact with your smart contract by calling its function and passing values.

Ethereum Smart Contract

Moreover, there is a front end app that allows users to interact with the smart contract from the browser. This web based app is called a decentralized app. You can pass value and see the console window.

Ethereum Smart Contract

Conclusion

I hope this article helped you to understand the key steps of building and deploying Ethereum Smart Contract. As Blockchain technology is evolving at a high pace, it is the time to gain strong hands-on practice over the echo system of Blockchain.

In the end, containerize.com is fully dedicated to compiling the list of open source software. There are many tutorials and blog posts about open source software and a number of blog posts are in the pipeline. Therefore, please stay in touch with the Blockchain Platforms category for regular updates.