Writing Your First Fabric Application

原文地址: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)編寫 - 對其執行復雜的搜索(尋找包含某些關鍵字的所有資產)。

下圖表示查詢是如何工作的:


fabcar.go智能合約解析

智能合約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

實例化


升級









發佈了24 篇原創文章 · 獲贊 11 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章