1. 程式人生 > >Hyperledger Fabric 鏈碼的開發環境

Hyperledger Fabric 鏈碼的開發環境


title: Hyperledger Fabric 鏈碼的開發
tags: Hyperledger, fabric ,區塊鏈,chaincode


前面介紹過Hyperledger Fabric環境搭建和網路部署,現在我們開始鏈碼開發。

Fabric的fabric-sample專案中提供了一個chaincode的開發環境,使chaincode在開發階段可以進行快速開發、構建、執行、除錯。

1. 編寫chaincode程式碼

首先我們應該編寫自己的智慧合約,然後在fabric-samples/chaincode下新建資料夾,並把程式碼存放在改資料夾下面。

在chaincode目錄下給我自帶了幾個專案,我們選擇sacc

這個專案。

2.啟動網路

開啟一個終端

首先進入chaincode-docker-devmode目錄

cd fabric-samples/chaincode-docker-devmode

然後啟動網路

docker-compose -f docker-compose-simple.yaml up

3.啟動chaincode

開啟第二個終端

進入chaincode容器執行

docker exec -it chaincode bash

如果成功進入應該顯示/opt/gopath/src/chaincode#
然後進入sacc

cd sacc

接著編譯專案

go build

最後我們啟動節點

CORE_PEER_ADDRESS=peer:7051 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc

4.操作鏈碼

開啟第三個終端

啟動cli

docker exec -it cli /bin/bash

當然也可以使用,但是我不建議這麼做,我之前使用這個命令一直報錯。

docker exec -it cli bash

下面安裝鏈碼

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0

注意:-n是安裝的名字,-v是version,-l是使用語言
如:peer chaincode install -n hello -v 1.0.0 -l golang -p

例項化鏈碼

peer chaincode instantiate -n mycc -v 0 -c '{"Args":["str","helloworld"]}' -C myc

5.查詢鏈碼

peer chaincode query -n mycc -c '{"Args":["get","str"]}' -C myc

執行結果應該是

Query Result: helloworld

6. 退出

使用ctrl+c 結束第一個終端,然後輸入

docker-compose -f docker-compose-simple.yaml down