在咱們開始以前,若是你尚未這樣作,你可能但願檢查是否已經在開發區塊鏈應用程序和/或運行Hyperledger Fabric的平臺上安裝了全部前提條件。html
一旦安裝了前提條件,就能夠下載並安裝HyperLedger Fabric了,當咱們在Fabric二進制文件上開發真正的安裝程序時,咱們提供了一個能夠將示例、二進制文件和Docker映像安裝到你的系統中的腳本,腳本還會將Docker映像下載到本地註冊表。java
在咱們開始以前,若是你尚未這樣作,你可能但願檢查您是否已經在開發區塊鏈應用程序和/或運行Hyperledger Fabric的平臺上安裝瞭如下全部前提條件。node
若是尚未安裝cURL工具,或者文檔中出現運行cURL命令的錯誤,請下載最新版本的cURL工具。python
若是你在Windows系統上,請查看下面關於的Windows附件條件。
你須要將如下安裝在你將要操做或開發Hyperledger Fabric的平臺上:c++
你能夠在終端提示符中檢查你安裝的Docker版本:git
docker --version
爲Mac或Windows安裝Docker,或者Docker Toolbox也會安裝Docker Compose,若是你已經安裝了Docker,你應該檢查是否安裝了Docker Compose版本1.14.0或更高版本,若是沒有,咱們建議你安裝Docker的最新版本。
你能夠從終端提示符中使用如下命令檢查安裝的Docker Compose程序的版本:github
docker-compose --version
Hyperledger Fabric的許多組件使用Go編程語言。golang
假設咱們將在Go中編寫鏈代碼程序,有兩個環境變量須要正確設置;你能夠經過將這些設置放在適當的啓動文件中使其永久存在,好比你的我的~/.bashrc
文件,若是你在Linux下使用bash
shell。docker
首先,必須將環境變量GOPATH
設置爲指向包含下載的Fabric代碼庫的Go工做區,以下所示:shell
export GOPATH=$HOME/go
必須設置 GOPATH變量即便在Linux中,Go的
GOPATH
變量能夠是一個冒號分隔的目錄列表,而且若是未設置,則使用默認值$HOME/go
,當前Fabric構建框架仍然須要你設置並導出該變量,並且它必須只包含Go工做空間的單個目錄名。(這個限制可能在未來的版本中被移除。)
其次,你應該(一樣,在適當的啓動文件中)擴展命令搜索路徑以包含Go bin
目錄,例以下面Linux下的bash
示例:
export PATH=$PATH:$GOPATH/bin
雖然這個目錄可能不存在於新的Go工做區安裝中,可是稍後Fabric構建系統將使用少許的Go可執行文件來填充它,構建系統的其餘部分將使用這些文件,所以,即便你目前尚未這樣的目錄,也能夠像上面那樣擴展shell搜索路徑。
若是你使用Node.js的Hyperledger Fabric SDK開發Hyperledger Fabric應用程序,你須要安裝版本8.9.x的Node.js。
暫時不支持Node.js 9.x。
- Node.js - 版本8.9.x或更高
安裝Node.js將會安裝NPM,可是,建議你確認安裝了NPM的版本,你可使用如下命令升級
npm
工具:
npm install npm@5.6.0 -g
如下僅適用於ubuntu 16.04用戶.
默認狀況下,Ubuntu 16.04自帶Python 3.5.1做爲python3
二進制版本安裝,Fabric Node.js SDK須要Python 2.7的迭代才能成功完成npm install
操做,使用如下命令檢索2.7版本:
sudo apt-get install python
檢查你的版本:
python --version
若是你是在Windows 7上開發的,那麼你將但願在Docker Quickstart終端中工做,該終端使用Git Bash,並提供比內置Windows shell更好的選擇。
然而,經驗代表這是一個功能有限的開發環境,它適用於運行基於Docker的場景,例如入門,可是你可能對涉及make
和docker
命令的操做有困難。
在Windows 10上,你應該使用原生Docker發行版,而且可使用Windows PowerShell,可是,要使binaries
命令成功運行,你仍然須要使用uname
命令,你能夠將其做爲Git的一部分得到,但要注意,只支持64位版本。
在運行任何git clone
命令以前,運行如下命令:
git config --global core.autocrlf false git config --global core.longpaths true
你能夠經過如下命令檢查這些參數的設置:
git config --get core.autocrlf git config --get core.longpaths
它們須要分別爲false
和true
。
Git和Docker Toolbox附帶的curl
命令很舊,不能正確地處理入門時使用的重定向,請確保安裝並使用cURL下載頁面中的新版本。
爲Node.js你還須要必要的Visual Studio c++構建工具,這些工具是免費提供的,能夠經過如下命令安裝:
npm install --global windows-build-tools
有關詳細信息,請參閱NPM windows-build-tools頁面。
完成此操做後,還應該使用如下命令安裝NPM GRPC模塊:
npm install --global grpc
你的環境如今應該已經準備好進行入門示例和教程了。
若是你有本文檔未解決的問題,或者遇到任何教程中的問題,請訪問 仍然有問題?頁面,獲取關於在何處找到額外幫助的一些提示。
當咱們爲Hyperledger Fabric二進制開發真正的安裝程序時,咱們提供了一個能夠下載並安裝示例和二進制文件到你的系統的腳本,咱們認爲,你會發現安裝的示例應用程序對了解有關Hyperledger Fabric的功能和操做很是有用。
若是你在Windows上運行,你將但願使用Docker Quickstart終端來執行即將到來的終端命令,若是你以前沒有安裝,請看前提條件。若是你在Windows 7或macOS上使用Docker Toolbox,你將須要使用一個在
C:\Users
(Windows 7)或/Users
(macOS)下的位置安裝和運行樣例。若是你在Mac上使用Docker,你須要使用
/Users
、/Volumes
、/private
或/tmp
下的位置,要使用不一樣的位置,請參閱Docker文檔的共享文件。若是你在Windows中使用Docker,請參考Docker文檔中的共享驅動器,並在其中一個共享驅動器下使用一個位置。
肯定機器上要放置fabric-samples存儲庫的位置,並在終端窗口中輸入該目錄,下面的命令將執行如下步驟:
準備好以後,在你將要安裝Fabric樣例和二進制文件的目錄中,繼續執行如下命令:
curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0
若是你想下載Fabric,Fabric-ca和第三方Docker映像,你必須將版本標識符傳遞給腳本。
curl -sSL http://bit.ly/2ysbOFE | bash -s <fabric> <fabric-ca> <thirdparty> curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0 1.2.0 0.4.10
若是在運行上述curl命令時出現錯誤,那麼可能使用的curl版本太舊,沒法處理重定向或不支持的環境。請看前提條件部分,瞭解關於在何處找到curl的最新版本並得到正確環境的更多信息,或者你能夠替換未縮短的URL:
https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh
你能夠對任何已發佈的Hyperledger Fabric版本使用上面的命令,只需用但願安裝的版本的版本標識符替換1.2.0便可。
上面的命令下載並執行bash腳本,該腳本將下載並提取全部平臺特定的二進制文件,你將須要這些二進制文件來創建您的網絡,並將它們放到上面建立的克隆repo中,它檢索下列特定於平臺的二進制文件:
cryptogen
configtxgen
configtxlator
peer
orderer
idemixgen
fabric-ca-client
並將它們放在當前工做目錄的bin
子目錄中。
你可能想要將其添加到PATH環境變量中,這樣就能夠在不徹底限定每一個二進制文件的路徑的狀況下獲取這些環境變量。e.g.:
export PATH=<path to download location>/bin:$PATH
最後,腳本將從Docker Hub下載Hyperledger Fabric docker映像到你本地Docker註冊表,並將其標記爲「latest」。
腳本列出了在結束時安裝的Docker映像。
看看每一個鏡像的名字;這些組件將最終構成咱們的Hyperledger Fabric網絡,你還會注意到,同一鏡像ID有兩個實例 - 一個標記爲「amd64-1.x.x」,一個標記爲「latest」,在1.2.0以前,下載的鏡像由uname -m
肯定,顯示爲「x86_64-1.x.x」。
在不一樣的體系結構,將用標識體系結構的字符串替換x86_64/amd64。
若是你有本文檔未解決的問題,或者遇到任何教程中的問題,請訪問 仍然有問題?頁面,獲取關於在何處找到額外幫助的一些提示。
Hyperledger Fabric提供了許多SDK來支持各類編程語言,官方發佈了兩款針對Node.js和Java的SDK:
另外,還有3個SDK尚未正式發佈(對於Python、Go和REST),可是它們仍然能夠下載和測試:
Hyperledger Fabric提供一個可選的證書受權服務,你能夠選擇使用該服務生成證書和密鑰材料,以配置和管理區塊鏈網絡中的身份。可是,可使用任何能夠生成ECDSA證書的CA。