Hyperledger Fabric 開發環境安裝

Hyperledger Fabric 開發環境安裝不算太複雜,只須要按照本文的步驟進行,相信必定能夠的。php

1.在Ubuntu 16.04上安裝Docker(社區版)

首先經過如下方式更新apt索引:前端

sudo apt-get update

添加Docker的官方GPG密鑰:java

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

將Docker存儲庫添加到APT源,Docker存儲庫有三個基於體系結構的包:node

  • AMD64(64位體系結構包):
sudo add-apt-repository "deb [arch=amd64]     https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • ARMHF(32位體系結構,即基於ARM-86體系結構的軟件包):
sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • 此包的第三個版本是S390X版本,僅適用於基於z內核的Linux:
sudo add-apt-repository "deb [arch=s390x] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

如今用新增長的repo更新apt索引:python

sudo apt-get update

如今從Docker的repo安裝:linux

apt-cache policy docker-ce

如今安裝Docker:android

sudo apt-get install -y docker-ce

如今檢查Docker引擎的狀態:git

sudo systemctl status docker

在沒有sudo的狀況下運行docker:程序員

  • 1.sudo groupadd docker
  • b.sudo gpasswd -a $USER docker
  • c.要麼執行newgrp docker,要麼退出並從新登陸。

2.在Ubuntu 16.04上安裝Docker Compose

首先經過如下方式更新apt索引:github

sudo apt-get update

在Linux系統上安裝Docker Compose:

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

而後運行以將可執行權限應用於下載的二進制文件:

sudo  chmod +x /usr/local/bin/docker-compose

檢查Docker Compose的版本:

docker-compose version

3.安裝GO編程語言:

首先經過如下方式更新apt索引:

sudo apt-get update

咱們須要Go編程語言版本1.9.x,由於Hyperledge Fabric在其大部分組件中使用Go的1.9.x版本,以便運行如下命令:

cd ~

若是你的Ubuntu是基於x86架構的,那麼運行

curl -O https://storage.googleapis.com/golang/go1.9.linux-386.tar.gz

不然,若是你的Ubuntu是基於x64架構的,那麼運行:

curl -O https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

而後使用如下命令提取:

若是你下載了32位/x86版本

tar xvf go1.9.linux-386.tar.gz

或者若是你下載了64位/x64版本

tar xvf go1.9.linux-amd64.tar.gz

如今將提取的go文件夾的全部權更改成root:root

sudo chown -R root:root ./go

如今將這個go文件夾移到/usr/local目錄

sudo mv go /usr/local

設置執行路徑:

cd ~
sudo nano .bashrc

如今在文件的最後添加這些行在執行此操做以前,請確保在/usr/local/directory_中安裝了go(即移動的go文件夾)。

export GOPATH=$HOME/myworkspace
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

如今加載最新更新的bashrc

source .bashrc

如今,建立工做區目錄,在其中放置Go項目

mkdir $home/myworkspace

如今建立一個項目目錄

mkdir -p myworkspace/src/github.com/go_project/hello

如今在go_項目目錄下的hello目錄下建立一個hello world程序go文件

nano ~/myworkspace/src/github.com/go_project/hello/hello.go

複製其中的如下代碼

package main

    import "fmt"

    func main() {
        fmt.Printf("hello, world\n")
    }

如今把它另存爲hello.go,你能夠用有效的命名約定來命名你的程序,可是.go擴展很是重要。

如今運行如下命令安裝Go程序:

go install github.com/go_project/hello

如今編譯它運行

hello

這應輸出爲:

hello, world!

祝賀你!你已經成功地在Linux系統上安裝了Go編程語言。

4.安裝node.js:

在安裝node.js以前,咱們先安裝nvm,它會讓咱們在機器上安裝特定版本的節點,也會讓咱們在同一臺機器上下載和管理多個版本的節點,如下載nvm:

curl -O- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

如今安裝node v6.11.2,很是當心地按照hyprledger結構的要求使用這個版本的node。

nvm install 6.11.2

如今,你能夠檢查要安裝的節點版本(具體爲V6.11.2),由於咱們已經安裝了它:

node –version

安裝節點最終會和它一塊兒安裝NPM,因此如今驗證NPM的版本,它應該是3.10.10:

npm -v

若是系統中沒有3.10.10版本的NPM,則運行:

npm install npm@3.10.10 -g

5.安裝python:

由於Ubuntu附帶了python3.5.1做爲python3二進制文件。Hyperledge Fabric須要python 2.7才能使npm install正常工做,所以要安裝pyhton2.7,請運行如下命令:

sudo apt-get install python -y

檢查python的版本

python --version

6.安裝GIT:

sudo apt-get install git

7.設置Hyperledger結構:

cd ~
mkdir hyperledger-binaries
cd hyperledger-binaries/

如今讓咱們設置咱們的machne以實際運行一個hyperledger結構,運行如下命令下載docker圖像並標記爲最新的,並下載結構二進制文件,從你想要提取結構二進制文件的位置運行它:

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0

如今將這些二進制文件的下載位置添加到系統路徑中

cd ~
sudo nano .bashrc
export FABRICPATH=$HOME/hyperledger-binaries/fabric-samples
export PATH=$PATH:$FABRICPATH/bin
source .bashrc

如今,讓咱們運行此示例以測試你的完整設置是否正常運行示例結構網絡:

cd fabric-samples/first-network

如今要生成CA證書和Docker撰寫端到端配置文件,請運行:

./byfn.sh -m generate

如今要實際啓動網絡並在該結構的每一個對等端上安裝示例鏈代碼:

./byfn.sh -m up

如今運行如下命令查看是否全部docker映像都在conatiners中運行:

docker ps

祝賀你,你已經成功地創建了fabric網絡。

如今中止並撕掉fabric:

./byfn.sh -m down

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

若是你想學習區塊鏈並在Blockchain Technologies創建職業生涯,那麼請查看咱們分享的一些以太坊、比特幣、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • ERC721以太坊通證明戰,課程以一個數字藝術品創做與分享DApp的實戰開發爲主線,深刻講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
  • EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • 深刻淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深刻學習EOS區塊鏈應用開發,課程內容即涵蓋帳戶、計算資源、智能合約、動做與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深刻淺出,很是適合前端工程師深刻學習EOS區塊鏈應用開發。
  • Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操做實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
  • Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、信道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操做實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
  • tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。

匯智網原創翻譯,轉載請標明出處。這裏是Hyperledger Fabric 開發環境安裝

相關文章
相關標籤/搜索