原文地址:http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
Setting up a Development Environment
First, remove the containers:
docker rm -f $(docker ps -aq)
Next, delete the chaincode image:
docker rmi dev-peer0.org1.example.com-fabcar-1.0
git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples/fabcar
使用startFabric.sh腳本啓動網絡。此腳本下載並提取Fabric Docker圖像,因此需要幾分鐘時間才能完成:
./startFabric.sh
最後一件事。我們需要安裝SDK(軟件開發工具包)節點模塊:
npm install
How Applications Interact with the Network
開人員更有興趣瞭解應用程序的功能,現在最重要的是應用程序使用軟件開發工具包(SDK)訪問允許查詢和更新分類帳的API。
Querying the Ledger
查詢是如何從分類帳中讀取數據。該數據存儲爲一系列鍵/值對,您可以查詢單個鍵,多個鍵的值,或者 - 如果分類帳以豐富的數據存儲格式(如JSON)編寫 - 對其執行復雜的搜索(尋找包含某些關鍵字的所有資產)。
下圖表示查詢是如何工作的:
智能合約Init方法在智能合約被區塊鏈網絡實例化時調用
每次當有請求調用智能合約時,會調用Invoke函數
Updating the Ledger
Chaincode for Developers
參考文檔:http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4ade.html
智能合約接口: https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim#Chaincode
“shim”API: https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim#ChaincodeStub
Chaincode for Operators
智能合約的生命週期
Hyperledger Fabric API支持塊鏈網絡中的各種節點(peer,orderer和MSP)進行交互,並且還允許在批准的peer節點上進行包裝,安裝,實例化和升級智能合約。 Hyperledger Fabric語言特定的SDK抽象了Hyperledger Fabric API的細節,以促進應用程序開發,儘管它可以用於管理智能合約的生命週期。此外,Hyperledger Fabric API可以通過CLI直接訪問,我們將在本文檔中使用。
我們提供四個命令來管理鏈碼的生命週期:包,安裝,實例化和升級。
封裝
安裝
交易封裝了智能合約的源碼用規定好的格式稱作CSD,在通道中的每一個peer節點安裝CSD,這些節點會運行智能合約。
peer chaincode install -n asset_mgmt -v 1.0 -p sacc
實例化
升級