Our Blog

Displaying 1-5 of 42 results.

By | January 3rd, 2018

Hyperledeger is a collaborative effort from different industry leaders to frame an open source, Cross-Industry Blockchain expert aided technologies. The project is led by Linux Foundation and industry leaders like IBM, Intel, Samsung and much more already became part of it. The movement basically aims to develop the distributed ledgers that can support enterprise-level business transactions. The project has developed a number of business Blockchain expert frameworks like Hyperledger Fabric and Hyperledger Saw toot. Actually, these frameworks provide the development environment for business Blockchain expert applications. You can read more about the basics of Hyperledger from our previous blogs.

You can also learn the basic terminologies and components of hyperledger from here.

Installation of Hyperledger fabric on Ubuntu 16.04 LTS
The Installation has the following prerequisites. Make sure that your system has following features before installation.
- Latest version of cURL
- Latest version of Docker & Docker compose (docker v1.12.x or higher)
- Latest version of Go-Lang (Go - Programming Language)
- Python v2.7
- Node JS v6.x (Currently v7.x not supported)

1. Installation of cURL

           $ sudo apt install curl


2. Install latest version of Docker and Docker compose
- install docker

       $ sudo apt install docker.io

- install docker compose

        $ sudo apt install docker-compose

- create a user group

        $ sudo usermod -a -G docker $USER

You can check the version of docker and docker compose version by

 $ docker --version
$ docker-compose --version

- To check the working of you ‘Docker’ execute the following code.

             $ docker run hello-world

If the ‘docker’ is installed successfully then the result will be
Status: Downloaded newer image for hello-world: latest
Hello from Docker!
NOTE: If the ‘docker’ displays an error message ‘Cannot connect to the Docker daemon’. Please restart your system and run again.

3. Install Go Programming language

      $ sudo apt install golang-go

After the installation executes the following path to set the environment variables.

 $ export GOPATH=$HOME/go
$ export PATH=$PATH:$GOPATH/bin

4. Install Node.js
Install node.js version 6.x or greater (version 7.x not supported now)

 $ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install -y nodejs
Note: Ensure nodejs version is 6.x
$ nodejs –v

5. Install the latest version of npm
Installing Node.js will also install NPM,
You can upgrade the npm tool with the following command:

       $ sudo npm install npm@3.10.10 -g

6. Install Python 2.7
Ubuntu 16.04 comes with Python package 3.x so install Python Package 2.7
(If already installed then ignore this step- check by typing $ python)

      $ sudo apt-get install python


Now let us go to Hyperledger Installation

Installation takes about an hour since it has to download large files.

1. Install Binaries and Docker Images from docker

curl -sSL https://goo.gl/Q3YRTi | bash
The command downloads and run a ‘bash script’ it will then download the platform-specific executable you need. It then places the files into the repo you created above.

Following files are downloaded.
- cryptogen
- configtxgen
- configtxlator
- peer

Place them in the bin subdirectory of the current working directory

  export  PATH=<path to download location>/bin:$PATH


Test a Hyperledger Fabric Sample

Now let us look a sample hyper ledger program ‘Fabcar’ to check the installed environment.
‘fabcar’ is a hyper ledger fabric sample which is used for storing the information of the cars like color, model etc as key/value pairs in the ledger.
Follow the steps to install ‘Fabcar’ on your Hyperledger environment.

1. Remove containers and chain code images if any, in order to avoid docker conflict

     $ docker rm -f $(docker ps -aq)


2. Use the following command to navigate to a particular location in the terminal and download the fabric samples in that location.

    $ git clone https://github.com/hyperledger/fabric-samples.git


3. Navigate to the directory

      $ cd fabric-samples

List the files in the directory using ‘ls’ you will see the following files
chaincode invoke.js network package.json query.js startFabric.sh

4. Run the startFabric.sh script to start the network.
This script file downloads and extracts the Fabric images from the docker,

     $ ./ startFabric.sh


5. We need to install node SDK for Hyperledger so that we can run the node modules in this example

    $ npm install

Now you created a sample network.
Now let us check the main operational codes in ‘Fabcar’.

1. Querying the ledgers

‘Query’ is a built-in function that is used to read the values of each key (Which is the information) of each or every car according to the permissions of users.
- We can query the data written in the ledgers as key-value pairs. we can query for a single as well as all the key/value pairs.

Run the ‘query.js’ script to query the data from the ledger

   $ node query

It will give the following result

Query result count =  1
Response is [{"Key":"CAR0", "Record":{"colour":"blue","make":"Toyota","model":"Prius","owner":"Tomoko"}},
{"Key":"CAR1", "Record":{"colour":"red","make":"Ford","model":"Mustang","owner":"Brad"}},
{"Key":"CAR2", "Record":{"colour":"green","make":"Hyundai","model":"Tucson","owner":"Jin Soo"}},
{"Key":"CAR3", "Record":{"colour":"yellow","make":"Volkswagen","model":"Passat","owner":"Max"}},
{"Key":"CAR4", "Record":{"colour":"black","make":"Tesla","model":"S","owner":"Adriana"}},
{"Key":"CAR5", "Record":{"colour":"purple","make":"Peugeot","model":"205","owner":"Michel"}},
{"Key":"CAR6", "Record":{"colour":"white","make":"Chery","model":"S22L","owner":"Aarav"}},
{"Key":"CAR7", "Record":{"colour":"violet","make":"Fiat","model":"Punto","owner":"Pari"}},
{"Key":"CAR8", "Record":{"colour":"indigo","make":"Tata","model":"Nano","owner":"Valeria"}},
{"Key":"CAR9", "Record":{"colour":"brown","make":"Holden","model":"Barina","owner":"Shotaro"}}]

These are the data on the ledger that represents details of 10 Cars (CAR0 to CAR9)

Now let us see the request definition in the ‘query.js’ file
// queryCar - requires 1 argument, ex: args: ['CAR4'],
// queryAllCars - requires no arguments , ex: args: [''],
const request = {
chaincodeId: options.chaincode_id,
txId: transaction_id,
fcn: 'queryAllCars',
args: ['']
};


‘queryAllCars’ is used when we want to see the details of all cars. If you need the details of a particular car then you can use ‘queryCar’ function (Which is a built-in function).

See the following example which uses the ‘queryCar’ function.

const request = {
chaincodeId: options.chaincode_id,
txId: transaction_id,
fcn: 'queryCars',
args: ['CAR4']
};

- Now save and run the ‘query.js’
node query.js

The result will be the value of CAR4 Only

{"colour":"black","make":"Tesla","model":"S","owner":"Adriana"}

2. Updating the Ledger

You can update the ledger using the following ‘invok.js’ file

Open the ‘invok.js’ file in any editor and you can see the following request definition in it.

// createCar - requires 5 args, ex: args: ['CAR11', 'Honda', 'Accord', 'Black', 'Tom'],
// changeCarOwner - requires 2 args , ex: args: ['CAR10', 'Barry'],
// send proposal to endorser
var request = {
targets: targets,
chaincodeId: options.chaincode_id,
fcn: 'createCar',
args: ['CAR10', 'Chevy', 'Volt', 'Red', 'Nick'],
chainId: options.channel_id,
txId: tx_id
};
Here the ‘invoke.js’ file requests a function ‘createCar’ which in turn update/create a new key/value pair in the ledger.

The argument list contains the arguments that we need to store in the ledger. Run the following code to update the ledger.

node invoke.js

The following result will be displayed aster successful updating of the value.

The transaction has been committed on peer localhost: 7053

- Run the query.js file to view the changes

Query result count =  1
Response is [{"Key":"CAR0", "Record":{"colour":"blue","make":"Toyota","model":"Prius","owner":"Tomoko"}},
{"Key":"CAR1", "Record":{"colour":"red","make":"Ford","model":"Mustang","owner":"Brad"}},
{"Key":"CAR2", "Record":{"colour":"green","make":"Hyundai","model":"Tucson","owner":"Jin Soo"}},
{"Key":"CAR3", "Record":{"colour":"yellow","make":"Volkswagen","model":"Passat","owner":"Max"}},
{"Key":"CAR4", "Record":{"colour":"black","make":"Tesla","model":"S","owner":"Adriana"}},
{"Key":"CAR5", "Record":{"colour":"purple","make":"Peugeot","model":"205","owner":"Michel"}},
{"Key":"CAR6", "Record":{"colour":"white","make":"Chery","model":"S22L","owner":"Aarav"}},
{"Key":"CAR7", "Record":{"colour":"violet","make":"Fiat","model":"Punto","owner":"Pari"}},
{"Key":"CAR8", "Record":{"colour":"indigo","make":"Tata","model":"Nano","owner":"Valeria"}},
{"Key":"CAR9", "Record":{"colour":"brown","make":"Holden","model":"Barina","owner":"Shotaro"}},
{"Key":"CAR10", "Record": {"colour":"Red","make":"Chevy","model":"Volt","owner":"Barry"}}]


You can see the newly inserted values here.
If you want to add more car details, change the arguments in ‘invoke.js’ file and run the file again.


Read More

By | January 1st, 2018

Hi there... I believe you have read our previous blogs on Hyperledger. It will give you a basic understanding about Hyperledger. If not you read it from an overview of Hyperledger In this blog I am going to dig something deeper into Hyperledger as I promised earlier. Let’s familiarize the basic terminologies used in Hyperledger. The following basic terminologies of Hyperledger are explained here.


- State
- Transactions
- Ledger
- NODES
- Peer
- Ordering Service API
- Endorsement Policy
- Writers policy

StateAny real-world assets can be modeled using assets in Hyperledger. They are defined as a collection of key-value pair. The term ‘state’ represents current key-value pair. And a change in the state is recorded as a transaction in the channel ledger. The state is maintained only by peer nodes and it is modeled as an element of mapping from the set of keys (K) to the set of V x N. It is described below.

  K -> (V X N)
Where,
K => set of keys
V => set of values
N => an infinite ordered set of version numbers

A state is represented as

S( k )= (v, ver)

Generally,

v is denoted by S( k ).value &

ver by S( k ).version


These entries are manipulated by the chaincodes (or the applications) running on the
blockchain expert through ‘put’ and ‘get’ operations.
Put(k,v) takes the blockchain expert state S and changes it to a new state S’ such that

S’( k)=( v, next( S( k ).version ))

Get method returns S( k )

The state change of the assets are recorded as transactions on a channel ledger

Let’s take an example to understand the concept
- Consider an asset ‘price’ which represent the price of 1 kg of apple.
- Here, key is ‘price’ and different value can be set to this key ( i.e. prices of the apple)

For each changed value, we assign version number.
Suppose the current price of an apple is 50/kg. Then the current state is described as
S( ‘price’ )= (50,1)
Here, 50 is the value and 1 is the version number
If we change the price to 60/kg, then let us say an operation transaction is made. We can update the new value using put operation.
put( ‘price’, 60)
The operation changes the state of the asset as
S’( ‘price’ ) = ( 60,2)
If we call get operation at this stage, it will output the above state
Transactions

As I explained earlier a transaction is a change in state of a digital asset. Basically, there are two types of transactions in hyperledger.

1. Deploy transaction Deploy transaction create a new chaincode by taking a program as the parameter. And it will install the chaincode on the hyperledger. 2. Invoke transactions Invoke transaction is applied in the case of a previously deployed chaincode. It can invoke the ‘functions’ of a chaincode that is deployed on Blockchain. A successful invoke transaction executes the functions of a chaincode to perform some operations in Blockchain.

LedgerSo we know the State and Transaction, Ledger is closely associated with these two. Ledger records all transactions in the Blockchain channel. Or it is a sequential, immutable record of all transactions. The ledger contains both valid and invalid transactions. And as we explained earlier each transaction creates a new ‘Key’ value pair for an asset and it is stored in the ledger. An important thing in hyperledger is that there will be one ledger per channel. And all the nodes in the channel keeps a copy of that ledger.

In ledger transactions are ordered into blocks. Blocks are constructed by the ordering service as a totally ordered hash chain of blocks. In the context of an ordered, Ledger is referred as an Orderer Ledger. And in the context of a peer, the ledger is referred as Peer Ledger. PeerLedger differs from the OrdererLedger in a way that peers locally maintain a bitmask which distinguishes valid transactions from invalid ones while Orderer ledger does not.


Nodes
Nodes are the communication entities of the
blockchain expert
There are 3 types of nodes,

1. Client or submitting-client: Let us say it is the end user of the hyperledger. A client must connect to a peer for communicating with the Blockchain. The node can communicate both with the Peers and Orderers.

2. Peer: Peer is basically a node that commits the transactions and maintains the state of the ledger. Peer keeps the copy of the ledger and they can take the role of an ‘Endorser’ also.

3. Ordering-service-node or order: Orderer is a node that runs the communication service. The communication service provides a shared communication channel to clients and peers. The client can connect to a single or multiple communication channels and communicate with other clients or peers.

Ordering Service APIPeers are connected to the communication channel through ordering service API. The Ordering service API has following basic methods.

broadcast(blob) : A client calls this method to broadcast a message over the channel
deliver(seqno, prevhash, blob): The ordering service calls this on the peer to deliver the message (blob) with the sequence number (seqno) and the hash of the most recently delivered blob (prevhash)
As an effective communication strategy, most of the time, the ordering service will group the ‘blobs’ and output the blocks within a single deliver event instead of outputting individual transactions.

Ordering service provides a Safe (consistency guarantees), Live (delivery guarantee) communication mechanism.

Endorsement Policy
Endorsement policy specifies the conditions to endorse a transaction. All the peers will have a pre-specified set of endorsement policies. The policy is specified by the deploy transaction at the time of installation of a specific chaincode. The policy can be parametrized and a transaction become valid only after it passed the endorsement conditions.

Writers policy
It is the channel specification rules for clients. The policy specifies which user is allowed to submit a transaction to a particular communication channel. It is defined at the time of channel creation.


Read More

By | December 29th, 2017

hyperledger is a collaborative attempt from distinct industry leaders to border an open supply, pass-industry blockchain aided technology. the motion essentially aims to develop the dispensed ledgers that can aid agency-degree commercial enterprise transactions. the whole mission is advanced on open source platform. despite the fact that the venture is hosted and pushed by way of the free folk of the net ‘linux basis’, technology giants like ibm, intel, samsung and lots of extra others already became part of the mission.

the challenge changed into introduced in december 2015 by way of linux basis, and soon it became famous as leaders from exceptional business domain names like banking, healthcare, finance, supply chain, iot, production and many others. joined the motion. as of now with 170+ participants, the project is the most important blockchain generation consortium and it's miles completely funded by means of its participants. linux basis does no longer stipulate a unmarried blockchain expert trendy for the participants, instead they pick out a network-driven approach to develop blockchain technologies. by means of early 2016, the mission started accepting proposals for incubation and later a number of unique commercial enterprise blockchain expert frameworks and gear were general for incubation underneath this task.beneath the assignment following frameworks have been unveiled to date.

Iroha

Fabric

Sawtooth

Burrow

Indy

As of now Fabric, Sawtooth, and Iroha are promoted from the state of ‘incubation’ to ‘active’ by an 11 member Hyperledger Technical Steering Committee.

some other essential element to factor out is the distinction between hyperledger and cloth. often humans are burdened with these terminologies. the material is one of the protocols underneath the hyperledger undertaking and hyperledger is the name of the assignment itself, now not a era. when humans the use of the time period ‘hyperledger’, they may be clearly which means one of the technology underneath the hyperledger venture.

The tools that are currently under hyperledger project

- Hyperledger cello

- Hyperledger composer

- Hyperledger explorer

- Hyperledger quilt

The project along with its participating technologies are often referred as ‘Hyperledger Umbrella’

targets of the hyperledger challenge.

- to allow its member agencies to construct strong, business enterprise-degree applications, systems and hardware systems based totally on blockchain era

- to boost using blockchain era in enterprise by means of developing a move-industry level, open-source improvement library

- to facilitate constructing custom disbursed ledger solutions for its participants.

- to combine independent blockchain protocols.


Read More

By | November 29th, 2017

The Plugin brings a large number of the most intense highlights accessible on Wordpress. Freshers may not have enough time to burrow through all old post to locate those unavoidable issues. In this post we need to grandstand the best performed ones too. Post plugins are vital when going to the instance of best wordpress development companies. Actually the perusers may not set aside opportunity to experience all substance and could forget before they point that astounding post which every other person cherished.

Super Post

It gives you an approach to make post quires of various sorts. We can indicate posts from labels, particular classifications, different scientific categorizations and particular quires posts sorts. The gave gadget can be utilized to demonstrate your most remarked posts in the side bar with or without selections, thumb nails or remark tallies. Custom CSS can be alternatively added to be totally modifying the gadget appearance.

Jetpack

It can be utilized for securing wordpress site, connecting with perusers and furthermore to expand movement. Jetpack accompanies an additional sidebar gadgets include by utilizing a short code the gadget can be shown in posts and pages.

WP Tab Widget

It is the main Plugin you have to get the ideal tabs on your blog. The site proprietors dependably wish to expand the guests as well as longer on their site. It is made conceivable just with WP Tab Plugin.

Prominent Widget

It is like WP Tab gadget. Well known gadget demonstrates late remarks, prominent posts, and furthermore labels in a selected gadget. It's a well-known decision since more than 10,000 dynamic introduces and a 4.6 star fulfillment evaluations are there. The choices for showing incorporate whether to show thumb nails, tallies and passages.

Wordpress Popular Post

It is exceedingly adaptable gadget that demonstrates your most well-known post. We can have different gadgets of wordpress famous post on your blog, each with its own settings. It underpins short codes for exhibiting most well-known post on pages.


Read More

By | November 29th, 2017

Most of the leading web development companies in India always believes that the key to effective web development process is proper client reaction. The goal of a website is to communicate with the user so that it leads them to engage with you and potentially become a customer. It makes them feel more comfortable and secured while using the web.

Making a site content is a type of testing task. We can consider content creation as a most genuine errand. It is one the best technique for advancing. Today the vast majority of the people depend on web for discovering answers for their request. A website development company can fulfill an advancing assignment just when its web content is adequate to manage their request and concerns.

We definitely realize that web designing and development is driving the present business world and content creation is a key part. It is truly a minimum cost task anyway it has longer nearness. The real establishment of a substantial part of the promoter's is the methods by which they can make relevant content. A first rate content is fundamental for each page with the goal that it can hold potential customers.

Enlightening and educational articles accept a critical part to keep gathering of guests dependably for your thing. There are content promoting experts that can guide you for making such kind of content that can make an immense development.

The essential idea behind the web content of a web advancement organization is that it should be noteworthy for the customers and not for basically demonstrating your administrations. Today content of a site isn't constrained to literary content, pictures and video wound up noticeably significant over the printed content. It makes your guests agreeable on your site. Similarly recordings recounts the story and makes the clients to comprehend the web content in more profundity.


Read More

June 10th, 2016
Admin:
Comment: Nice Blog!
Tips To Calm Down While Searching Jobs , created by: Arpit gupta

May 30th, 2016
Abhilash:
Comment: A great blog for the freshers.
Mistakes You Should Avoid In Interviews, created by: Amandeep Kaur

May 30th, 2016
Abhilash:
Comment: A great blog for the freshers.
Mistakes You Should Avoid In Interviews, created by: Amandeep Kaur