區塊鏈數字貨幣fabric開發環境搭建

來源:互聯網
上載者:User

區塊鏈愛好者(QQ:53016353)

我用的是Vagrant方法在windows(其他環境的就不要往下看了,我不敢保證)搭建,親測沒問題。

準備工作:


Git client
Go - 1.6 or later
Vagrant - 1.7.4 or later
VirtualBox - 5.0 or later


這些都必須要用到,git主要用於同步源碼,go主要是搭建go語言的編譯環境,因為源碼是go語言編寫的。點擊文檔說明的連結下載,安裝方法和環境變數的設定可以百度,一大堆的參考資料,基本都比較靠譜。後兩個就更簡單,下載下來安裝就行了。另外,由於後面要用到ssh命令,我下載了一個Cygwin64 Terminal,安裝選擇包的時候搜尋openssh,然後選擇這個包,安裝之後,也需要配置環境變數,具體自己百度。




搭建步驟:


第一步:


首先確保你之前安裝go語言的編譯環境搭建好了。
然後在git命令列中輸入 :


git config --get core.autocrlfgit
config --global core.autocrlf false


沒有深究為什麼,按照文檔來就行了。


第二步:


把github中的fabric源碼拉下來


cd $GOPATH/src
git clone 


$GOPATH這個目錄在windows下可以隨便定,建議後面的按他說的來。來源文件的git clone命令可能是針對有Linux id的來的,可以不用他的命令。


第三步:


用Vagrant來配置虛擬機器


vagrant up


vagrant up第一次時間非常長,有時還斷,所以建議FQ,而且要全域加速,親測速度確實要穩定一些。文檔裡說運行了這個命令之後就可以喝咖啡去了,要a few minutes,我表示不服。
Vagrant裝好之後,大部分的工作就完成了,然後就是部署一些東西。
之後的vagrant up啟動都是這個樣子:




部署步驟:


開啟ssh:


vagrant ssh


這個時候如果沒裝之前的ssh,就會報錯。 




安全驗證(可選):


這個是可選項,主要用作member的身份認證,具體作用體現在後面的命令加不加username上。


make membersrvc && membersrvc




運行驗證peer:
開另外一個命令列視窗,運行


vagrant ssh


然後


make peer
peer node start --peer-chaincodedev


這樣,peer節點就起來了。




編譯chaincode:


另開一個命令列視窗,運行:


vagrant ssh


然後選擇源碼中的一個例子chaincode機型編譯


go build


註冊和運行chaincode:


CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02


mycc是chaincode的名稱,可以隨便定,只要在後面的過程中對應使用就行了。




CLI調試:
我沒有用REST方式,用的CLI。


使用者註冊:


peer network login


username要從membersrvc.yaml裡邊選,比如jim,然後會要求輸入密碼,把後面的密碼輸入就行了。然後註冊會成功。




peer視窗可以看到註冊資訊:




Chaincode的部署交易:


peer chaincode deploy -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'
如果使用了安全模式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u jim -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'


Chaincode的調用交易:


peer chaincode invoke -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'
如果使用了安全模式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u jim -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'


Chaincode的查詢交易:


peer chaincode query -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'
安全模式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u jim -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'




peer視窗




chaincode視窗




部署,調用和查詢三個交易在這幾個視窗中都可以看到。


刪除安全模式下的臨時檔案:


vagrant ssh


先寫到這,後面關於hyperledger的設計邏輯,我想清楚了再跟持續大家彙報

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.