Blockchain & Solidity Program Lab Manual
ISBN 9788119221646

Highlights

Notes

  

Prog. 12: How to use MetaMask to Deploy a Smart contract in Solidity (Blockchain)?

IDE

To write and execute solidity codes, the most common IDE used is an online IDE known as REMIX. You can either open it on line on https://remix.ethereum.org/ or install it in your system from https://github.com/ethereum/remix-ide.

After you write the code and compile it you can deploy it in 3 ways –

JavaScriptVM (remix.org)

Injected Web3

Web3 Provider

This article explains how to deploy your contract by using MetaMask as Injected Web3.

MetaMask

MetaMask is a type of Ethereum wallet that bridges the gap between the user interfaces for Ethereum (e.g. Mist browsers, DApps) and the regular web (e.g. Chrome, Firefox, websites).

Its function is to inject a JavaScript library called web3.js into the namespace of each page your browser loads. Web3.js is written by the Ethereum core team. MetaMask is mainly used as a plugin in chrome. You can add it from here or download it directly from this link.

After adding MetaMask as an extension in chrome and creating an account, set up your account as follows –

Step 1: Select Ropsten Test Network from a list of available networks as below:

Step 2: Request test ether form here.

Step 3: MetaMask is ready for deployment. To know more about MetaMask visit the MetaMask official guide.

Steps to deploy your contract

Step 1: Open Remix IDE in your browser. After opening click on + and write the filename as follows:

Step 2: Write the following sample code for testing and compile by clicking on the compile button as shown: pragma solidity ^0.4.26;

// Creating a contract contract shreyansh_05

{

// Defining a function to

// return a string

function get_output() public pure returns (string)

{

return (“Hi, your contract ran successfully”);

}

}

Step 3: After compilation and move to deploy section just below the compilation and select Injected Web3 in place of JavaScriptVM as shown below –

Step 4: Now your contract is ready to be deployed. Click on deploy button and the MetaMask will ask for confirmation as follows –

Step 5: After confirmation, the deployed contract will look like –

Step 6: Expand the deployed contract as below and get the output using the get_output() function:

Step 7: Now, to verify whether your transaction (process) executed successfully, you can check your balance on MetaMask.

Now your contract is completely ready to function. Make sure the compiler version matches the version of your solidity code. This is the basic implementation of MetaMask with solidity.