top of page

DLithe's

Online

Internship Program on - Blockchain Technology.

In this blog  you will get to read the brief summary of my online internship of blockhain

Below are the topics which were covered in my internship program

Introduction :

It all Started with the introduction with a beautiful presentation where we learn -Blockchain is an emerging technology platform for developing decentralized applications and data storage, over and beyond its role as the technology underlying the cryptocurrencies. The basic tenet of this platform is that it allows one to create a distributed and replicated ledger of events, transactions, and data generated through various IT processes with strong cryptographic guarantees of tamper resistance, immutability, and verifiability. Public blockchain platforms allow us to guarantee these properties with overwhelming probabilities even when untrusted users are participants of distributed applications with ability to transact on the platform.

Screenshot (38).png
Inside Bitcoin

Bitcoin is a digital currency created in January 2009 following the housing market crash. It follows the ideas set out in a whitepaper by the mysterious and pseudonymous Satoshi Nakamoto. The identity of the person or persons who created the technology is still a mystery. Bitcoin offers the promise of lower transaction fees than traditional online payment mechanisms and is operated by a decentralized authority, unlike government-issued currencies.

There are no physical bitcoins, only balances kept on a public ledger than everyone has transparent access to, that – along with all Bitcoin transactions – is verified by a massive amount of computing power. Bitcoins are not issued or backed by any banks or governments, nor are individual bitcoins valuable as a commodity. Despite it not being legal tender, Bitcoin charts high on popularity, and has triggered the launch of hundreds of other virtual currencies collectively referred to as Altcoins.

Screenshot (37).png

Bitcoin is one of the first digital currencies to use peer-to-peer technology to facilitate instant payments. The independent individuals and companies who own the governing computing power and participate in the Bitcoin network, are comprised of nodes or miners. "Miners," or the people who process the transactions on the blockchain, are motivated by rewards (the release of new bitcoin) and transaction fees paid in bitcoin. These miners can be thought of as the decentralized authority enforcing the credibility of the Bitcoin network. New bitcoin is being released to the miners at a fixed, but periodically declining rate, such that the total supply of bitcoins approaches 21 million. Currently, there are roughly 3 million bitcoins which have yet to be mined. In this way, Bitcoin (and any cryptocurrency generated through a similar process) operates differently from fiat currency; in centralized banking systems, currency is released at a rate matching the growth in goods in an attempt to maintain price stability, while a decentralized system like Bitcoin sets the release rate ahead of time and according to an algorithm.

Transactions

Decentralized bitcoin exchanges are those that are operated without a central authority. These exchanges allow peer-to-peer trading of digital currencies without the need for an exchange authority to facilitate the transactions.

There are a number of benefits to decentralized exchanges. First, many cryptocurrency users feel that decentralized exchanges better match the decentralized structures of most digital currencies themselves; many decentralized exchanges also require less personal information from their members than other types of exchanges. Second, if users transfer assets directly to other users, that eliminates the need for the transferring of assets to the exchange, thereby reducing the risk of theft from hacks and other fraud. 

Screenshot (39).png

“The Creation and Storage of Blockchain Records,” is about what records are generated by and stored in blockchain systems. The chapter highlights that records and their location in blockchain systems are complicated by four factors: 1) differences among various blockchain systems in terms of how they generate and store records, 2) the distributed and decentralized architecture of blockchain systems, 3) the design choices of blockchain solution developers about what to record and how to store records in blockchain systems, and 4) the way in which the nature of records and recordkeeping is being transformed by blockchain technology. 

Screenshot (41).png
Consensus

Any centralized system, like a database holding key information about driving licenses in a country, a central administrator has the authority to maintain and update the database. The task of making any updates – like adding/deleting/updating names of people who qualified for certain licenses – is performed by a central authority who remains the sole in-charge of maintaining genuine records.

Public blockchains that operate as decentralized, self-regulating systems work on a global scale without any single authority. They involve contributions from hundreds of thousands of participants who work on verification and authentication of transactions occurring on the blockchain, and on the block mining activities.

Merkle Tree

A Merkle tree is a hash-based data structure that is a generalization of the hash list. It is a tree structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. Typically, Merkle trees have a branching factor of 2, meaning that each node has up to 2 children.

Merkle trees are used in distributed systems for efficient data verification. They are efficient because they use hashes instead of full files. Hashes are ways of encoding files that are much smaller than the actual file itself. Currently, their main uses are in peer-to-peer networks such as Tor, Bitcoin, and Git.

Mining 
500px-Hash_Tree.svg.png

A peer-to-peer computer process, Blockchain mining is used to secure and verify bitcoin transactions. Mining involves Blockchain miners who add bitcoin transaction data to Bitcoin’s global public ledger of past transactions. In the ledgers, blocks are secured by Blockchain miners and are connected to each other forming a chain.
When we talk in depth, as opposed to traditional financial services systems, Bitcoins have no central clearing house. Bitcoin transactions are generally verified in decentralized clearing systems wherein people contribute computing resources to verify the same. This process of verifying transactions in called mining.

Screenshot (42).png

Ethereum

Ethereum is the foundation for a new era of the internet:

An internet where money and payments are built in.
An internet where users can own their data, and your apps don’t spy and steal from you.
An internet where everyone has access to an open financial system.
An internet built on neutral, open-access infrastructure, controlled by no company or person.
Launched in 2015, Ethereum is the world’s programmable blockchain.

Like other blockchains, Ethereum has a native cryptocurrency called Ether (ETH).

Screenshot (43).png

ETH is digital money. If you’ve heard of Bitcoin, ETH has many of the same features. It is purely digital, and can be sent to anyone anywhere in the world instantly. The supply of ETH isn’t controlled by any government or company - it is decentralized, and it is scarce. People all over the world use ETH to make payments, as a store of value, or as collateral.

Smart Contract

A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties.

One of the best things about the blockchain is that, because it is a decentralized system that exists between all permitted parties, there’s no need to pay intermediaries (Middlemen) and it saves you time and conflict. Blockchains have their problems, but they are rated, undeniably, faster, cheaper, and more secure than traditional systems, which is why banks and governments are turning to them.

Screenshot (44).png

Meta mask

MetaMask is a browser plugin that serves as an Ethereum wallet. It allows users to store Ether and other ERC-20 tokens. By connecting to Ethereum-based Dapps, users can spend their coins in games, gambling applications and trade them on decentralized exchanges.To use it, you will need either Chrome, Firefox, Opera or the Brave browser.It is installed like any regular plugin. Once it is installed, transactions can be made to any Ethereum address.

metamask-ethereum-online-wallet-logo-750

Dapps automatically connect to MetaMask, simplifying the connection process. Within the Dapp, if payment is required, a pop-up window will appear asking to confirm the transaction from the MetaMask account.

What advantages does it have?
😻 Popular - it is commonly used so users only need one plugin to access a wide range of Dapps.

🕐 Simple - Instead of managing private keys, users just need to remember a list of words and transactions are signed on their behalf.

💽 Saves space - Users don’t have to download the Ethereum blockchain as it sends requests to nodes outside of the user’s computer.

🔗 Integrated - Dapps are designed to work with it, so it becomes much easier to send Ether in and out.

We worked with Kovon Network

Kovan Ether (KEth) have no market value, they can be obtained for free and are meant for testing purposes only.

Kovan network faucets provide Kovan Ether to legitimate developers willing to deploy and test contracts on the Kovan network. The faucets also prevent malicious actors from obtaining large amounts of Ether.

Etherscan 
metmask-no-eth.png

Etherscan is a useful resource for all Ethereum Network users to track transactions, check smart contracts, find out stats, and generally stay on top of what's happening in the Ethereum blockchain. What's more, it's free to use and you don't have to register to use the main features.

tenor (1).gif
Screenshot (45).png

Remix Ethereum

Remix is a powerful, open source tool that helps you write Solidity contracts straight from the browser. ... Remix also supports testing, debugging and deploying of smart contracts and much more. Our Remix project with all its features is available at remix.ethereum.org and more information can be found in these docs.

Screenshot (46).png
Hello_world.sol

pragma solidity ^0.5.0;

contract Hello_AICTE{
    
    string private message="Hello AICTE Folks";
    function getHello() public view returns (string memory){
        return message;
    }
    
    function setHello(string memory newMessage)public {
        message=newMessage;
    }
}

Screenshot (48).png
Bank.sol

pragma solidity ^0.5.0;

contract SimpleBank{

mapping (address=>uint ) private balances;

address public owner;

event LogDepositMade(string hello,

address accountAddress,uint Amount);

function Own() public{

owner=msg.sender;

}

function deposit()public payable returns (uint){

require((balances[msg.sender]+msg.value)>=balances[msg.sender]);

balances[msg.sender]+=msg.value;

emit LogDepositMade("Money Deposited",msg.sender,msg.value);

return balances[msg.sender];

}

function withdraw(uint withdrawAmount) public returns (uint remainingBal){

require(withdrawAmount <= balances[msg.sender]);

balances[msg.sender]-=withdrawAmount;

msg.sender.transfer(withdrawAmount);

return balances[msg.sender];

}

function balance() view public returns (uint){

return balances[msg.sender];

}

}

Screenshot (49).png

Truffle

Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle, you get: Built-in smart contract compilation, linking, deployment and binary management.

 INSTALLATION TRUFFLE & TESTRPC ON WINDOWS FOR BLOCKCHAIN DEVELOPMENT

Step 0. Pre-step: Install Chocolatey

Install Chocolatey via 

 https://chocolatey.org/

Step 1. Install Windows tools with Chocolatey:

Open a PowerShell prompt as an Administrator and run the following commands (last command optional):

$ choco install nodejs.install –y

$ choco install git –y

$ choco install VisualStudioCode -y

Step 2. Install the tools via npm:

Open a NEW PowerShell prompt as Administrator (to ensure that it reloads), then run the following commands:

$ npm install -g npm

$ npm install -g -production windows-build-tools

$ npm install -g ethereumjs-testrpc

$ npm install -g truffle

Ganache

Ganache is a personal blockchain for rapid Ethereum and Corda distributed application development. You can use Ganache across the entire development cycle; enabling you to develop, deploy, and test your dApps in a safe and deterministic environment.

Ganache UI is desktop application supporting both Ethereum and Corda technology. In addition, an Ethereum version of ganache is available as a command-line tool: ganache-cli (formerly known as the TestRPC). All versions of Ganache are available for Windows, Mac, and Linux.

ganache-window.png

Truffle - Pet-Shop

Pete Scandlon of Pete's Pet Shop is interested in using Ethereum as an efficient way to handle their pet adoptions. The store has space for 16 pets at a given time, and they already have a database of pets. As an initial proof of concept, Pete wants to see a dapp which associates an Ethereum address with a pet to be adopted.

The website structure and styling will be supplied. Our job is to write the smart contract and front-end logic for its usage.

Screenshot (50).png

Truffle project using a Truffle Box

Truffle initializes in the current directory, so first create a directory in your development folder of choice and then moving inside it.

mkdir pet-shop-tutorial

cd pet-shop-tutorial

We've created a special Truffle Box just for this tutorial called pet-shop, which includes the basic project structure as well as code for the user interface. Use the truffle unbox command to unpack this Truffle Box.

truffle unbox pet-shop

All the steps were referred to this website to get appropriate output -- https://www.trufflesuite.com/tutorials/pet-shop

dapp.png
metamask-transactionsuccess.png
bb210c7aec6a05870cea4cd7a23fd110.gif

Docker

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package. By doing so, thanks to the container, the developer can rest assured that the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.

In a way, Docker is a bit like a virtual machine. But unlike a virtual machine, rather than creating a whole virtual operating system, Docker allows applications to use the same Linux kernel as the system that they're running on and only requires applications be shipped with things not already running on the host computer. This gives a significant performance boost and reduces the size of the application.

container-what-is-container.png

Katacoda

Katacoda is an interactive learning and training platform for software developers. Each student is given access to a new environment without the need to install all the required component by themselves. Katacoda also provides isolation for each student, so they can explore and push the limits of their learning skills without worry about breaking the environment for fellow students.

Identify where materials are being used and how teams are learning to create improvements and additional learning opportunities.

Screenshot (51).png

The aim of Katacoda is to build a dedicated interactive technical learning platform for software developers.We have built interactive browser based environments that remove the barriers to entry for people getting started and allow users to experience products and scenarios without any downloads or configuration.

All the course were completed by referring to this website -- https://www.katacoda.com/courses/docker

Hello World Smart Contract In Solidity 

Smart contracts: these are self-executing contracts with the terms of the agreement between buyer and seller which is directly written into lines of code.
Solidity: It is programming language to code the actual smart contracts. The syntax is very similar to JavaScript.
Remix: an online IDE, the most convenient way to develop contracts. It makes writing and debugging Solidity very easy. For this blog post, we will be using it.

Full Stack Ethereum Dapp Part-1

pragma solidity ^0.5.0;
 
contract HelloWorld {
     
string defaultName;
mapping (address => string) public accounts; 
 
constructor() public{
    defaultName = 'World';
}
 
function getMessage() public view returns(string memory){
    string memory name = bytes(accounts[msg.sender]).length > 0 ? accounts[msg.sender] : defaultName;
    return concat("Hello " , name);
}
 
 
function setName(string memory name) public returns(bool success){
    require(bytes(name).length > 0);
    accounts[msg.sender] = name;
    return true;
}
 
 function concat(string memory _base, string memory _value) internal pure returns (string memory) {
        bytes memory _baseBytes = bytes(_base);
        bytes memory _valueBytes = bytes(_value);
 
        string memory _tmpValue = new string(_baseBytes.length + _valueBytes.length);
        bytes memory _newValue = bytes(_tmpValue);
 
        uint i;
        uint j;
 
        for(i=0; i<_baseBytes.length; i++) {
            _newValue[j++] = _baseBytes[i];
        }
 
        for(i=0; i<_valueBytes.length; i++) {
            _newValue[j++] = _valueBytes[i];
        }
 
        return string(_newValue);
    }
}

Screenshot (52).png
Screenshot (52).png

we saw Solidity coding structure, created Hello World smart contract, went through Remix environment and tested our first contract in it

Full Stack Ethereum Dapp Part-2

In Part-1, we made Hello World contract in Remix. As we have to write code in the files and manage in repository for development perspective so in this blog post, we will setup our development environment, a private Ethereum blockchain on local machine and deploy our smart contract on the blockchain. 

All the steps were referred to this website to get appropriate output -- https://techbrij.com/setup-local-private-blockchain-deploy-smart-contract-ethereum-dapp-part-2

After truffle migrate you will get output like below:

we worked to setup development environment, setup project & private Ethereum blockchain and deployed smart contract on blockchain successfully.

Not-Sure-If-Fry-Meme-Gif.gif

Starting migrations...

======================

> Network name:    'development'

> Network id:      5777

> Block gas limit: 6721975

1_initial_migration.js

======================

   Replacing 'Migrations'

   ----------------------

   > transaction hash:    0x5781f512eddd6bb038809ce95505ea46d0bbbcb29ad7eae6b8059655475dfae9

   > Blocks: 0            Seconds: 0

   > contract address:    0xcB16f879f7dae9B8f749A00Cc44bc424217841AF

   > account:             0x61dbEBCB81c57280E0d8BF38A7CbA831379524Ea

   > balance:             99.97497038

   > gas used:            284908

   > gas price:           20 gwei

   > value sent:          0 ETH

   > total cost:          0.00569816 ETH

   > Saving migration to chain.

   > Saving artifacts

   -------------------------------------

   > Total cost:          0.00569816 ETH

1546163703_hello_world.js

=========================

   Replacing 'HelloWorld'

   ----------------------

   > transaction hash:    0x18747ce6b55a0221cd240965105fe80228a321f74cea47c2dce9f7b1de413398

   > Blocks: 0            Seconds: 0

   > contract address:    0x32509cf81185cd59AeDC5D2E0d550F65331F4c17

   > account:             0x61dbEBCB81c57280E0d8BF38A7CbA831379524Ea

   > balance:             99.9618816

   > gas used:            612405

   > gas price:           20 gwei

   > value sent:          0 ETH

   > total cost:          0.0122481 ETH

   > Saving migration to chain.

   > Saving artifacts

   -------------------------------------

   > Total cost:           0.0122481 ETH

Summary

=======

> Total deployments:   2

> Final cost:          0.01794626 ETH

Full Stack Ethereum Dapp Part-3

In Part-2, we deployed our smart contract on local private Ethereum blockchain. Now, we will test out our Solidity smart contracts behaviour with unit testing with Truffle which uses Chai and Mocha frameworks. In web development lifecycle, unit testing is needed to do to ensure the code is working the way as it is expected

All the steps were referred to this website to get appropriate output -- https://techbrij.com/unit-testing-smart-contract-truffle-ethereum-dapp-part-3

Here is the complete code:

var helloworld = artifacts.require('HelloWorld');

contract('HelloWorld', function(accounts) {

  let instance;

  before(async () => {

    instance = await helloworld.deployed();

  });

  it('Default message should be hello world',async () => {

    let message = await instance.getMessage.call({from: accounts[0]});          

    assert.equal(message, "Hello World","Incorrect message.");

  });

 

  it('Should save name',async () => {

    let result = await instance.setName.sendTransaction('Ram',{from: accounts[0]});

    let message = await instance.getMessage.call({from: accounts[0]});          

    assert.equal(message, "Hello Ram","Incorrect message.");       

  });

 

  it('Should be default message for other accounts',async () => {

    let message1 = await instance.getMessage.call({from: accounts[0]});  

    let message2 = await instance.getMessage.call({from: accounts[1]});

    assert.equal(message1, "Hello Ram","Incorrect user message."); 

    assert.equal(message2, "Hello World","Incorrect message."); 

  });

 

  it('Should throw error on empty name',async () => {

    try{

      let result = await instance.setName.sendTransaction('',{from: accounts[0]});

      assert.fail(true,false,"The function should throw error"); 

    }

    catch(err){

        assert.include(String(err),'revert','throws different error');

    }

  });

 

});

Output

truffle(develop)> test

Using network 'develop'.

 

 

 

  Contract: HelloWorld

    ✓ Default message should be hello world

    ✓ Should save name (90ms)

    ✓ Should be default message for other accounts (53ms)

 

 

  3 passing (210ms)

we implemented different test methods for our smart contract using Mocha and Chai frameworks and executed with Truffle successfully.In next part, we will implement front-end app to interact the smart contract using Web UI.

Full Stack Ethereum Dapp Part-4

In Part-3, we created unit test methods for smart contract. Now, we will create a simple webpage to interact with the smart contract. The goal is to create a page with a textbox to enter name, buttons to save name and to get message.

All the steps were referred to this website to get appropriate output --https://techbrij.com/web-ui-smart-contract-ethereum-dapp-part-4

Create server and client folders in the project. Create a main.js file in server folder with following code

require('dotenv').config();

const express = require('express');

const app = express();

const PORT = process.env.PORT || 3000;

 

app.use(express.static('client'));

app.use(express.static('build/contracts'));

app.get('/', (req, res) => {

    res.sendFile(`${__dirname}/client/index.html`);

  });

 

  app.get('*', (req, res) => {

    res.status(404);

    res.send('Ooops... this URL does not exist');

  });

 

  app.listen(PORT, () => {

    console.log(`TechBrij Ethereum HelloWorld App running on port ${PORT}...`);

  });

Add index.html in client folder

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Hello World Smart Contract By TechBrij.com</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
 <div class="container">
<h1>Hello World Smart Contract</h1>
<div>
<label for="name" class="col-lg-2 control-label">Name</label>
 <input id="name" type="text"/>
<button id="buttonSave">Save</button>
</div>
<button id="buttonMessage">Get Message</button>
 
<div id="output"></div>
<div id="errorHolder"></div>
 
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="dist/bundle.js"></script>
</body>
</html>

Add a new file ‘app.js‘ in client folder with following code

var Web3 = require('web3');
var TruffleContract = require('truffle-contract');
 
App = {
    web3Provider: null,
    contracts: {},
    currentAccount:{},
    initWeb3 : async function (){
        if (process.env.MODE == 'development' || typeof window.web3 === 'undefined'){
            App.web3Provider = new Web3.providers.HttpProvider(process.env.LOCAL_NODE);
        }
        else{
             App.web3Provider = web3.currentProvider;
        }
        web3 = new Web3(App.web3Provider);
        return  await App.initContractHelloWorld(); 
    },
    initContractHelloWorld : async function (){
        await $.getJSON('HelloWorld.json',function(data){
            var HelloWorldArtifact = data;
            App.contracts.HelloWorld = TruffleContract(HelloWorldArtifact);
            App.contracts.HelloWorld.setProvider(App.web3Provider);        
        })
        return App.bindEvents();
    },
    bindEvents: function() { 
        $('#buttonSave').click(App.setName);
        $('#buttonMessage').click(App.loadMessage);
    },
    loadMessage : function (){
        App.contracts.HelloWorld.deployed().then(async function(instance){
            let message;
            if(App.currentAccount.length){
                message = await instance.getMessage.call({from:App.currentAccount});   
            }
            else{
                message = await instance.getMessage.call();  
            }
            App.showMessage(message);
        }).catch((err) =>{
            App.showError(err);
        })
    },
    showMessage: function (msg){
        $('#output').html(msg.toString());
        $('#errorHolder').hide();
        $('#output').show();
    },
    showError: function(err){
        $('#errorHolder').html(err.toString());
        $('#errorHolder').show();
        $('#output').hide();
    },
    setName: function (){
        if ($('#name').val()){
             web3.eth.getAccounts(function (error,accounts){
            if (error){
                App.showError(error);
            }
            App.currentAccount = accounts[0];
            App.contracts.HelloWorld.deployed().then(function(instance){
              return instance.setName.sendTransaction($('#name').val(),{from:App.currentAccount})
            }).then(function(result){
                App.showMessage('Saved Successfully');
            }).catch(function (error){
                App.showError(error);
            })
          })
        }
        else{
            App.showError('Error: Name is required.');
        }
        
    },
    init : async function (){
        await App.initWeb3();       
        App.loadMessage();          
    }
 
}  
 
$(function() {
    $(window).load(function() {
        $('#errorHolder').hide();
        $('#output').hide();
         
      App.init();
    });
  });

Output

4-node-web-ethereum-dapp (1).png
4-node-web-ethereum-dapp (1).png

we implemented to setup backend and front-end application in Node.js to interact with smart contract using Web3, TruffleContract and jQuery. 

aae7b9c19476982cf9d36f6754878fab8379fe38

 Hyperledger Fabric

When it comes to the private blockchain, Hyperledger Fabric might be one of the most popular and adopted blockchain frameworks. Hyperledger Fabric has been adopted in several industry use cases such as education, healthcare, IoT, logistics, supply chain, and etc. Recently, NASA has published a proposal for air traffic management blockchain for security, authentication, and privacy based on Hyperledger Fabric.

In order to support massive adoptions in the future, Hyperledger Fabric has just launched the new version 1.4 which is its first long-term support release. This version mainly focuses on stability and production operations. With its popularity and key features, it is undeniable that Hyperledger Fabric is getting appealed to many software developers, software architects, system engineers, and etc.
 

Fabric-Explained-1.png

Nonetheless, when I was learning Hyperledger Fabric for the very first time, I found that it was difficult to understand how Hyperledger Fabric really works because of its enormous technology stack. To really understand how it works, a learner is required to have knowledge of several aspects such as blockchain technology, network and system architecture, DevOps operations, full-stack software development, test driven and behavior driven development, intermediate-level cryptography, authorization and access control, IT security aspects, business use cases, and etc.

​The formula used to explain blockchain is ATOMIC :

A-:Assets Tracking and T:Trust-less Protocol

Imagine a situation in which you are buying a Diamond from a merchant , you have finalized the design, but when you go to the merchant he tells you that it will take 3 more days to prepare the diamond,when you go after 3 days he says it will take 2 more days .So why is this Delay happening ?, its because he is just another middle-men who had given contract to a 3rd party vendor and charging commission for the final diamond prepared. Everledger allows you to trace the diamond from preparation to delivery stage by stage by sitting at your home .This satisfies A-asset tracking,T:Trust-less protocol, O-Ownership tracking of Diamond, M-money.

O: Ownership Tracking

Recruiters active on platforms like Linkedin often face the problem of fake credentials or recommendations being uploaded by individuals on Linkedin and later wasting everybody’s time at the time of offer .We have the Web 3.0 version of Linkedin which takes care of this , this Webapp is Springrole.com . You can import your details from Linkedin and all the credentials you upload will be Digitally Signed by the Human Resource Incharge and Previous managers ,buddies of your company who used to work with you and only once its signed by them it will be considered as a Valid uploaded credential.

M:Money

Bitcoin is very popular since 2010, its due to the decentralized money transfer in between two participants without the need of any middlemen like any banks or any trusted third party.We have many more cryptocurrencies like Ether, Ripples(XRP) etc.

I :Identity Tracking

Imagine that if you are going for a trip out to Europe, you need to have passport, tickets ,immigration documents etc .What if I say that a single QR code links everything together and when you go to Europe just scanning of the QR code is good enough for your identity to be established while travelling in Trains of Europe or visiting different destinations or staying in different hotels.

C:Smart Contracts

What if I say that we make a Digital Contract in between you and Airlines about the policies being followed and also have a transparent policy if flight delayed by more than 40 mins , customer account should automatically be credit with 30 % refund and further more policies added into a detailed contract.So this is implemented by Etherisc which is making Insurance Decentralized.

Hyperledger — Tuna Fishing Supplychain 

Problem Context:

With the Tuna 2020 Traceability Declaration in mind, our goal is to eliminate illegal, unreported, and unregulated fishing. We will use Hyperledger Fabric to bring transparency and clarity to a real-world example: the supply chain of tuna fishing.

We will be describing how tuna fishing can be improved, starting from the source, fisherman Sarah, and the process by which her tuna ends up at Miriam’s restaurant. In between, we’ll have other parties involved, such as the regulator who verify the validity of the data and the sustainability of the tuna catches.

We will be using Hyperledger Fabric’s framework to keep track of each part of this process.

Two things to keep in mind:

  1. There are many actors within the network, and you will see how these actors interact, and how a transaction is conducted.

  2. Private channels allow Sarah and Miriam to privately agree on the terms of their interaction, while still maintaining transparency, so other actors can corroborate and confirm their transaction.

To know more about Tuna Fishing Supplychain visit my assignment blog

Thats All Flocks !!!!!!

0fab3e4f7e9e7d3f199c49f10308ac05.gif

Special Thanks to Anubhav Chaurvedi for guiding me all the way through my internship journey and also thanks to Dlithe for giving such a wonderfull opportunity to learn real time technology ....

CONTACT ME

Joyston Menezes

computer science engineer

Phone:

+91 9480966920

Email:

joystonmj7@gmail.com

  • Black LinkedIn Icon
  • Black Facebook Icon
  • Black Twitter Icon
  • Black Instagram Icon

Thanks for submitting!

© 2020 All Right reserved developed by Joyston Menezes

bottom of page