
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.
.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.
.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.
.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.
.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

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.
.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).
.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.
.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.

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

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.

.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.
.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;
}
}
.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];
}
}
.png)
For more code refer the below Git repo.
https://gist.github.com/aniforverizon/895683a41331129d4153beeaf219fd0e
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 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.

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.
.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



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.

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.
.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);
}
}
.png)
.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.

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
.png)
.png)
we implemented to setup backend and front-end application in Node.js to interact with smart contract using Web3, TruffleContract and jQuery.

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.

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.
Blockchain Enterprise implementations and Use cases:
Reference - https://medium.com/@consultanubhav_1596/blockchain-enterprise-implementations-and-use-cases-23d2b7d76d49
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:
-
There are many actors within the network, and you will see how these actors interact, and how a transaction is conducted.
-
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 !!!!!!

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 ....