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
-
Blockchain 101 - A Visual Demo - Youtube
-
Blockchain Specialization - Coursera
-
Bitcoin and Cryptocurrency Technologies - Princeton University
-
Bitcoin - Khan Academy Series
-
Crypto Currencies, the Blockchain, and Smart Contracts - Standford
-
Ethereum Developer: Build A Decentralised Blockchain App - Udemy
-
The Basics of Blockchain: A Beginner’s Guide to Blockchain - Udemy
-
Ethereum Blockchain Developer Bootcamp With Solidity - Udemy
-
Introduction to Digital Currencies - University of Nicosia
White papers
-
A brave new world? What impact will distributed ledger technology have on the financial industry? - The European Central Bank
-
Banking in a world of programmable assets - Accenture
-
A Fistful of Bitcoins: Characterizing Payments Among Men with No Names - University of San Diego California
-
BlockChain Technology Beyond Bitcoin - University of California, Berkeley
-
An Architecture for the Internet of Money - Meher Roy
-
Endgame - Vitalik Buterin
Blockchain Core Concept
Books
Talks
-
Beyond Bitcoin - Block Chains and the Future of Trustless Computing
-
Bitcoin Is Exciting Because It’s Cheap - Bill Gates
-
Everything You Need to Know About Bitcoin - Reihan Salams
-
How Cryptocurrencies Can Succeed: the Stripe Perspective - Greg Brockman
-
How the Blockchain is Changing Money and Business - Don Tapscott
-
TEDx, Cryptocurrencies like Bitcoin are coming, and it’s a good thing - Juan Llanos
-
TEDx, Distributing Power & Trust - Eric Spano
-
The Future of Bitcoin: New Applications and Rebuilding the banking system: (28min) - Mike Hearn
-
The future will be decentralized - Charles Hoskinson
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.
-
Hand-on course by DApp University - Youtube playlist
-
[Blockchain for python developer] (https://youtu.be/M576WGiDBdQ?t=2)
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
-
Sublime text package highlighting for solidity language
-
Remix is a Web-based IDE with built-in static analysis, and a test blockchain virtual machine
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
-
White Papers
- Hyperledger Architecture: Volume 2
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:
-
https://domsteil.com/2017/04/22/how-to-setup-hyperledger-fabric-v1-0-on-aws/
-
https://wiki.hyperledger.org/groups/twgc/fabric-doc/getting_started.md
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 :v: