MetaMask is a web browser add-on which enables anyone to run the Ethereum DApps without running the Ethereum full node. An Ethereum full node installation will take a lot of memory as well as time; so Metamask is a tool that eliminates the overburden of this hectic installation task. Initially, Metamask was available only for Google Chrome, but now it is available for Firefox and other popular web browsers.





MetaMask addon for chrome can be added from chrome web store or from 'metamask.io' website

This MetaMask addon provides a user interface for interacting with the blockchain. The user can connect to the Ethereum main network or 'testnet' or he may create his own private network and run Dapps on the blockchain.

MetaMask retrieves data from the blockchain and allows the users to manage the data securely.





Normally, a web3.js (the javascript API for Ethereum Dapps) must be installed in the local system to interact with the Ethereum DApps. web3.js is a collection of libraries used to interact with local or remote ethereum node using Http or IPC connection.

But MetaMask will inject the web3.js to each page for accessing the ethereum blockchain by itself. This approach eliminates the effort of web3.js installation in the local system.





After adding the Metamask, the user can interact with Ethereum blockchain just like in the normal case. The user can create an account, access Ethereum DApps, or deploy once own DApp.

The Metamask provides a vault account for each user, this vault secures, stores and tightly controls access to tokens, password, certificates, API keys and other elements in blockchain apps.The vault account act as a second level encryption for the user account.





The Metamask will provide a group of 12 words “wallet seed” while installing it. It is the user credential and it must be stored somewhere safe. The users can also create passwords for their account.

The wallet seed or the password is necessary to log in to the MetaMask. The vault account will encrypt the user metadata and securely store it in the browser itself.





The Metamask user interface has a default buy and send option for buying and sending ether. The user can buy or send ether through this interface. The user can access his wallet, check his balance and transactions from this interface.

When the user executes a transaction from the Metamask it will send the transaction to the respective blockchain network. Then the corresponding validation and confirmation will occur in the blockchain as usual. In the case of 'testnet' and main network, the user can see the transaction details and confirmations in the ‘Etherscan.io’.





Here is an example of a transaction of Ether through Metamask.

For sending ether to an account you have to specify the recipient address and the amount to be transferred.