Hyperledger Fabric 鏈碼的開發環境
title: Hyperledger Fabric 鏈碼的開發環境
tags: Hyperledger Fabric ,Blockchain,Chaincode
前面介紹過Hyperledger Fabric環境搭建和網路部署,現在我們開始鏈碼開發。
Fabric的 fabric-sample
專案中提供了一個chaincode的開發環境,使chaincode在開發階段可以進行快速開發、構建、執行、除錯。
1. 編寫chaincode程式碼
首先我們應該編寫自己的智慧合約,然後在 fabric-samples/chaincode
下新建資料夾,並把程式碼存放在改資料夾下面。
在chaincode目錄下給我自帶了幾個專案,我們選擇 sacc
這個專案。

image
2.啟動網路
開啟一個終端
首先進入 chaincode-docker-devmode
目錄
cd fabric-samples/chaincode-docker-devmode
然後啟動網路
docker-compose -f docker-compose-simple.yaml up

image
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

image
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

image
5.查詢鏈碼
peer chaincode query -n mycc -c '{"Args":["get","str"]}' -C myc
執行結果應該是
Query Result: helloworld

image
6. 退出
使用ctrl+c 結束第一個終端,然後輸入
docker-compose -f docker-compose-simple.yaml down

image