Create Your Own Cryptocurrency in Private Consortium Network Ethereum Azure Blockchain

Send Custom Cryptocurrency MetaMask

Introduction

You can always read this article on my blog here.

Background

  1. Introduction to Blockchain and Cryptocurrency
  2. Create your Own Private Consortium Network in Azure
  3. Create your Own Private Cryptocurrency

What are Blockchain and Cryptocurrency

Blockchain

  1. It is a growing chain/list of blocks with records in it
  2. These blocks are linked or chained with Cryptography
  3. Each block will have its own unique cryptography hash
  4. Each block will be having a “Previous Hash” property which is the hash of the previous block
  5. The first block of the chain is known as Genesis block, only this block will not have the property “Previous Hash”
  6. Hash, Previous Hash, Data, Timestamp are the minimum contents of a block
  7. Here, the Data can be anything, for example, it can be the Transaction details like “Amount Transferred”, “Sender”, “Receiver” etc.

Why Blockchain is resistant to data modification?

Whenever there is an update, a new block will be generated and the same will be chained to the network by taking the hash property of the last block, as its previous hash property.

BlockChain

Real-time scenarios where Blockchain can be used?

  1. What if all of our Government documents are considered as a block? The forgery in documents will become an impossible task. Isn’t it?
  2. With the help of Smart Contract, we can use Blockchain even for some business scenarios, where the real-time validations are required, where each stage can be treated as a block.

Cryptocurrency

The most famous Cryptocurrency in the world is Bitcoin, which was invented by an unknown person or a bunch of people, known as Satoshi Nakamoto, this is the same who was invented Blockchain.

We all send and receive money to our accounts, but use someone as a mediator, that is Bank. Now, what if we remove that mediator and replace it with a Blockchain? That’s where the Cryptocurrency stands. With the help of Cryptocurrency and Blockchain, we don’t need to worry about the security, transaction costs which we are charged high from the bank. I personally feel that there will a time coming where there is no physical currency anymore.

Create Your Own Cryptocurrency

  1. Coin
  2. Token

A Coin is a Cryptocurrency where it uses its own Blockchain, whereas a Token is a Cryptocurrency which uses the existing Blockchain. For example, the Bitcoin uses its own Blockchain. We are going to use an existing Blockchain, which is nothing but Ethereum.

Let’s create an Ethereum account.

Creating an Ethereum Account

Once you have installed the extension, you will be redirected to a welcome page, you can also go to the page manually by clicking on the new extension icon. Continue the process until the page “Secret Backup Phrase”, this is where you will get your backup phrase, which can be used to restore your accounts in case, you forget the password. So please make a copy of the same. Once you completed all the steps, an account will be generated for you in the Main Network.

MetaMask Account

As you can see that it has already generated a public cryptography id for your account, now consider this is your account id. You can always change the network you wish, as there are many other networks available, but we will be adding our own private network later using the custom option. For now, please remember to change it to any test network.

Ethereum Networks

Create Smart Contract

To create the token, we need to write some codes in Solidity, let’s do that now. Copy the codes below and paste it in the Remix editor, here I have named my Token as SibiCoin. You can use anything you wish.

The first step of the solidity program will start with defining the compiler.

pragma solidity >=0.4.22 <0.6.0;

Once you had edited the token code, you can navigate to the compile tab and compile your code. You can also check the Auto Compile option which will enable the auto-compilation of the code whenever you make any changes.

Ethereum Remix Solidity Compiler

Once the compilation is successful, you can go to the Run tab. As you can see the account you had created in MetaMask is been already populated for you.

Ethereum Remix Solidity Run

Now, it is time to deploy our coin in the network, but when you do that you will get an error as “ALERT: Insufficient funds”. This is because that you have only 0 ETH in your account, but no worries, we will find a way to make you rich. Let’s create our own private consortium network now so that we can send money to your account. Are you ready to become rich?

Create Your Own Private Consortium Network

Creating the Network

Once everything is created, you should be able to go to the resource group and see all the resources created.

Azure Resources

Now, click on the resource with the type Public IP address, and copy the DNS name and open in the browser. You should be able to see a page as below.

Ethereum Node Status Azure DNS Name

Here the nodes start with “tx-” are the transaction nodes and the nodes start with “mn-” are the mining nodes. Mining is the process of validating and approving the transactions happening and registering them in the ledger or Blockchain.

Send Ethereum to Accounts

New Network in MetaMask Ethereum

As we have already connected the MetaMask to our own private network, now we can easily send the Ethereum to this account from our Network. Go to the network and paste the MetaMask account public cryptography key and click submit.

Send Ethereum to Accounts

If everything goes well, you should get a message as “Ether sent!”. You should also see that the new blocks are getting generated in both Transaction nodes and Mining nodes. Now We can check our MetaMask account. I can’t wait to see that, I become rich.

MetaMask Private Account

Wow!. Now I feel like I have a currency printer. Now we can go and create the smart contract.

Deploy the Smart Contract to Private Network

Deploy Custom Cryptocurrency

Here, you can see that our account is showing as 2000 ether. Before you deploy the Token/Coin, you should give the value for initialSupply, which is the maximum supply available for this contract, and the tokenName, which is the name of the coin, in this case, it is SibiCoin, and tokenSymbol, which is the symbol of your token. Once you have filled everything, you can click on the transact button.

A MetaMask pop-up will be generated, click on the Confirm button. If you don’t see the pop-up, please click on the MetaMask Chrome extension button.

Initial Deployment of Smart Contract

If everything goes well, you should be able to see an alert as the transaction is confirmed.

MetaMask Transaction Confirmed

You should also see a deployed contract under the Deployed Contracts section, copy the token and add it to your existing MetaMask.

Smart Contract Token Generated

Add Custom Token to MetaMask Account

Add Custom Token to MetaMask

If you want to change the Decimal Precision, you should edit the same in your custom Solidity code. Once you have added the same you should be able to see 50000 sc (SibiCoin) in your account.

Sending Custom Coin from One to Another Account

Send Custom Cryptocurrency MetaMask

Once the transaction is approved, you will get a notification and the coins should be reflected in your second account.

Conclusion

  • What is Blockchain
  • What is Cryptocurrency
  • What are Ethereum and MetaMask
  • How to create our own Cryptocurrency
  • How to use Azure Ethereum proof of work Blockchain solution
  • What is Smart Contract
  • How to use Remix tool and deploy custom Tokens
  • How to transfer custom cryptocurrency within accounts

You can always use the monitoring tools available in Azure, I will leave that to you. Please consider reading my Azure articles here.

You can always follow me here on Medium and Twitter.

Your turn. What do you think?

Kindest Regards
Sibeesh Venu

An engineer by profession and writer by passion. Microsoft MVP, Author, Blogger. sibeeshpassion.com, youtube.com/sibeeshPassion, youtube.com/njanorumalayali

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store