Skip to content

Latest commit

 

History

History
387 lines (194 loc) · 12.5 KB

BLOCKCHAIN.md

File metadata and controls

387 lines (194 loc) · 12.5 KB

Blockchain

Blockchain is a system in which a record of transactions made in bitcoin or another cryptocurrency is maintained across several computers that are linked in a peer-to-peer network.

Table of Contents

Crash Course

White papers

Blockchain Core Concept

Books

Talks

Solidity

Solidity is the most popular language on Ethereum, inspired by C++, Python, and JavaScript

Ethereum

Ethereum is an open-source, blockchain-based, decentralized software platform used for its own cryptocurrency, ether. It enables SmartContracts and Distributed Applications (DApps) to be built and run without any downtime, fraud, control, or interference from a third party.

Ethereum Set-up

Requisites for Ethereum setup

Installing npm package

  • before npm install node.js

wget -qO- https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

  • now install npm

brew install node

  • truffle ganache framework

  • download .appimage file from ganache


cd ~/Downloads

chmod a+x <.appimage filename>

./<.appimage filename>

  • Metamask Chrome Extension - to live track transactions on the Ethereum test network

Metamask Website

  • Sublime text package highlighting for solidity language
  • Remix is a Web-based IDE with built-in static analysis, and a test blockchain virtual machine

Remix

Hyperledger

Description

Hyperledger is an umbrella project of open source blockchains and related tools, started in December 2015 by the Linux Foundation, and has received contributions from IBM, Intel and SAP Ariba, to support the collaborative development of blockchain-based distributed ledgers

Hyperledger resources

Hyperledger fabric

The Hyperledger Fabric Install Guide

Environment

Ubuntu 16.04 AWS instance.

Install Fabric 1.0

Please go through the documents first to get a better understanding:

The command sequence to install Hyperledger Fabric v1.0.0-beta:


$ sudo apt-get update

$ sudo apt install libtool libltdl-dev git


$ cd $GOPATH

$ mkdir src

$ cd src

$ mkdir github.com

$ cd github.com

$ mkdir hyperledger

$ cd hyperledger

Download and compile Hyperledger Fabric. You may need to install make by $ sudo apt-get install make in prior to compile the source:


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

$ cd fabric

$ make configtxgen

At the end of make, you can see:


binary available as build/bin/configtxgen``

Subsequently, you can download all docker images by e2e_cli example:


cd examples

cd e2e_cli

chmod +x download-dockerimages.sh

./download-dockerimages.sh

There are the images:


$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

hyperledger/fabric-tools latest ae6b0f53cb70 4 days ago 1.32 GB

hyperledger/fabric-tools x86_64-1.0.0-beta ae6b0f53cb70 4 days ago 1.32 GB

hyperledger/fabric-couchdb latest 31bbbec3d853 4 days ago 1.48 GB

hyperledger/fabric-couchdb x86_64-1.0.0-beta 31bbbec3d853 4 days ago 1.48 GB

hyperledger/fabric-kafka latest c4ac1c9a4797 4 days ago 1.3 GB

hyperledger/fabric-kafka x86_64-1.0.0-beta c4ac1c9a4797 4 days ago 1.3 GB

hyperledger/fabric-zookeeper latest 2c4ebacb6f00 4 days ago 1.31 GB

hyperledger/fabric-zookeeper x86_64-1.0.0-beta 2c4ebacb6f00 4 days ago 1.31 GB

hyperledger/fabric-orderer latest 11ff350dd297 4 days ago 179 MB

hyperledger/fabric-orderer x86_64-1.0.0-beta 11ff350dd297 4 days ago 179 MB

hyperledger/fabric-peer latest e01c2b645f11 4 days ago 182 MB

hyperledger/fabric-peer x86_64-1.0.0-beta e01c2b645f11 4 days ago 182 MB

hyperledger/fabric-javaenv latest 61c188dca542 4 days ago 1.42 GB

hyperledger/fabric-javaenv x86_64-1.0.0-beta 61c188dca542 4 days ago 1.42 GB

hyperledger/fabric-ccenv latest 7034cca1918d 4 days ago 1.29 GB

hyperledger/fabric-ccenv x86_64-1.0.0-beta 7034cca1918d 4 days ago 1.29 GB

hyperledger/fabric-ca latest e549e8c53c2e 4 days ago 238 MB

hyperledger/fabric-ca x86_64-1.0.0-beta e549e8c53c2e 4 days ago 238 MB

Pull the latest fabric-peer image


$ docker pull hyperledger/fabric-peer:latest

$ docker pull hyperledger/fabric-baseimage:x86_64-0.2.2

$ docker tag \

hyperledger/fabric-baseimage:x86_64-0.2.2 \

hyperledger/fabric-baseimage:latest

Hyperledger Fabric is intended as a foundation for developing applications or solutions with a modular architecture. Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to a consensus that enables performance at scale while preserving privacy.

Hyperledger Composer

Hyperledger Composer is an extensive, open development toolset and framework to make developing blockchain applications easier.


We hope you now know the roadmap to being a professional Blockchain Developer ✌️