HyperLedger/Fabric SDK使用Docker容器映象快
HyperLedger/Fabric SDK Docker Image
該專案在github上的地址是: (感謝Star)。
這是一個基於fabric-sdk-java的專案,該專案的主要目的是簡化HyperLedger/Fabric開發人員在SDK應用層上的工作流程,使得開發和部署更加簡單。
該專案使用方便,只需要你的伺服器上部署有Docker及docker compose環境即可,透過docker-compose的啟動命令啟動YAML編排檔案即可快速上手使用。
由於日誌管理和效能除錯方面的工作還未完成,目前該專案僅為1.0-alpha版本,後續的開發中將會著重處理日誌及可配置效能方面的內容,如果這能讓你感興趣,歡迎star。
IntelliJ IDEA
Maven
JDK-1.8
spring-boot
Docker
docker compose
0.x系列的版本主要是非Docker應用方面的專案,即相互交流的原始碼層專案。
1.x及以上系列的版本均Docker專案,幫助開發人員快速部署SDK應用,減少開發環節,從而實現業務的快速落地。
目前主要版本如下列表所示:
:無資料庫版,適合輕量級的Fabric平臺應用。
:含關係型資料庫版,適合單服務管理多Fabric網路。
:提供Docker容器服務,方便SDK快速部署。
1、確定Linux核心在3.10
及以上。
2、在待部署SDK伺服器上安裝最新版Docker
及docker compose
環境。
3、執行docker pull aberic/fabric-sdk
下載映象。
4、在docker-sdk.yaml
檔案中配置好Fabric網路中所期望連線的排序服務及節點服務引數,這兩類服務各允許設定一臺,後續的版本中會增加使用SDK多服務網路方案。
5、執行docker-compose -f docker-sdk.yaml up
啟動SDK映象服務,如果不需要觀察日誌,則在命令最後追加-d
即可。
6、服務啟動完成後,參考下面的API介紹以便更快投入使用。
API入口文件
Method | REST API | Description |
---|---|---|
POST | /sdk/chaincode | 執行、查詢 |
POST | /sdk/trace | 在指定頻道內根據transactionID查詢區塊、在指定頻道內根據hash查詢區塊、在指定頻道內根據區塊高度查詢區塊以及查詢當前頻道的鏈資訊,包括鏈長度、當前最新區塊hash以及當前最新區塊的上一區塊hash |
POST | /sdk/org/set | 設定組織資訊 |
POST | /sdk/orderer/set | 設定排序伺服器資訊 |
POST | /sdk/peer/set | 設定節點伺服器資訊 |
該版本目前為即上即用的版本,僅提供單排序服務及單節點服務,因此API文件中未提供安裝、例項化及升級操作,但在後續更新中,會支援安裝、例項化及升級的功能。如果有PAAS服務的需要,可以自行參考v0.2中的方案來解決。
{ "intent": "invoke", "array": [ "set", "A", "0" ] }
查詢合約
{ "intent": "query", "array": [ "get" ] }
intent是指對智慧合約進行操作的意圖。
array是呼叫合約傳入的引數,在用go編寫智慧合約的時候,智慧合約所接收的引數為一個字串陣列,其中字串陣列的第一個引數是智慧合約的方法名。這裡的array所傳入的引數就是智慧合約所接收的陣列引數。
{ "intent": "queryBlockByTransactionID", "traceId": "08b5db91c7723cb61651a4af1034633a2833031a1cdb4415df0d8f6727020a4f" }
在指定頻道內根據hash查詢區塊
{ "intent": "queryBlockByHash", "traceId": "8f63d99744752a89a49fcee560a43c271b7f12e37dfaa3489da028b610943595" }
在指定頻道內根據區塊高度查詢區塊
{ "intent": "queryBlockByNumber", "traceId": "9" }
查詢當前頻道的鏈資訊(包括鏈長度、當前最新區塊hash以及當前最新區塊的上一區塊hash)
{ "intent": "queryBlockchainInfo" }
/sdk/org/set
{ "id": 1, "caLocation": "", "caName": "ca", "caTls": false, "chaincodeName": "test2cc", "chaincodePath": "chaincode/chaincode_example02", "chaincodeSource": "/code", "chaincodeVersion": "1.2", "channelArtifactsDir": "/home/jar/channel-artifacts", "channelName": "mychannel", "cryptoConfigDir": "/home/jar/crypto-config", "invokeWaitTime": 120, "ordererDomainName": "example.com", "orgDomainName": "org1.example.com", "orgMSPID": "Org1MSP", "orgName": "Org1", "proposalWaitTime": 90000, "tls": true, "username": "Admin"}
該方法是在sdk容器啟動後根據實際需求進行呼叫,如YAML中配置的變數寫錯,可以透過該方法重新設定組織資訊
{ "id": 1, "orgId": 1, "name": "orderer.example.com", "location": "grpc://118.89.243.236:7050"}
該方法是在sdk容器啟動後根據實際需求進行呼叫,如YAML中配置的變數寫錯,可以透過該方法重新設定排序服務資訊
{ "id": 1, "orgId": 1, "peerName": "peer0.org1.example.com", "peerEventHubName": "peer0.org1.example.com", "peerLocation": "grpc://118.89.243.236:7051", "peerEventHubLocation": "grpc://118.89.243.236:7053", "isEventListener": true}
該方法是在sdk容器啟動後根據實際需求進行呼叫,如YAML中配置的變數寫錯,可以透過該方法重新設定節點服務資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2802504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- fabric sdk : org.hyperledger.fabric.sdk.exception.ProposalExceptionException
- Hyperledger Fabric 智慧合約開發及 fabric-sdk-go/fabric-gateway 使用示例GoGateway
- Hyperledger Fabric(Hyperledger Fabric模型)模型
- Docker--容器和映象的使用Docker
- Hyperledger Fabric 部署
- Hyperledger fabric-SDK-GO客戶端開發篇(六)Go客戶端
- 2.01 hyperledger fabric概念
- Hyperledger Fabric 核心概念
- 【乾貨乾貨】hyperledger fabric 之動態新增組織/修改配置 (Fabric-java-sdk) 下Java
- Docker 匯出容器 / 映象Docker
- 【Hyperledger Fabric】Fabric 2.2 手動安裝
- 2.02 hyperledger fabric入門
- 2.08 hyperledger fabric完整案例
- Hyperledger Fabric(分類賬)
- Hyperledger Fabric on SAP Cloud PlatformCloudPlatform
- Docker掃盲之容器與映象的基本使用Docker
- Hyperledger Fabric 通道配置檔案和容器環境變數詳解變數
- 1.03 docker的映象和容器Docker
- 容器技術之Docker映象Docker
- 2.04 hyperledger fabric共識排序排序
- 2.06 hyperledger fabric智慧合約
- 2.07 hyperledger fabric鏈碼案例
- Hyperledger Fabric 2.0 Alpha釋出了!
- docker 批量刪除容器和映象Docker
- 細述docker容器建立MariaDB映象Docker
- docker容器與映象的區別Docker
- Hyperledger Fabric部署的坑(更新中)
- Hyperledger Fabric的基本功能
- 2.03 hyperledger fabric系統架構架構
- 2.05 hyperledger fabric賬本儲存
- Hyperledger Fabric命令詳解之 up
- hyperledger fabric - chaincode fingerprint mismatch data mismatchAI
- Hyperledger Fabric部署與測試(Ubuntu)Ubuntu
- 1-Hyperledger Fabric概念詳解
- Hyperledger fabric 鏈碼篇GO(四)Go
- Hyperledger Fabric 使用 CouchDB 和複雜智慧合約開發
- 通過容器提交映象(docker commit)以及推送映象(docker push)筆記DockerMIT筆記
- docker 映象和容器的基本命令Docker