1.Fabric官方提供了專門編譯cryptogen的入口,隻需要運作以下指令即可:
cd ~/go/src/github.com/hyperledger/fabric
make cryptogen
運作後系統傳回結果:
build/bin/cryptogen
CGO_CFLAGS=" " GOBIN=/home/studyzy/go/src/github.com/hyperledger/fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen/metadata.Version=1.1.0" github.com/hyperledger/fabric/common/tools/cryptogen
Binary available as build/bin/cryptogen
也就是說在build/bin檔案夾下可以看到編譯出來的cryptogen程式。
然後複制bin 檔案。
2.在github.com/hyperledger/建立新的檔案夾,粘貼bin檔案到該目錄下并在這個檔案夾下建立三個檔案夾chaincode(存放智能合約),config(配置檔案)crypto-config(order和peer證書配置檔案)。
3.複制下面四個檔案,根據需求修改裡面的資訊
configtx.yaml
crypto-config.yaml,
docker-compose-order.yaml,
docker-compose-peer.yaml
4.然後進行下面的操作
4.1生成證書
./bin/cryptogen generate --config=./crypto-config.yaml
4.2生成創世區塊
./bin/configtxgen -profile TwoOrgOrdererGenesis -outputBlock ./config/genesis.block
4.3檢視創世塊
./bin/configtxgen -inspectBlock ./config/genesis.block
4.4生成通道憑證
./bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./config/mychannel.tx -channelID mychannel
4.5啟動order節點和peer節點
docker-compose -f docker-compose-order.yaml up -d
docker-compose -f docker-compose-peer.yaml up -d
4.6檢視啟動的鏡像指令如下
docker ps -a
5.進入cli容器指令
docker exec -it cli bash
6.建立一個channel
peer channel create -o orderer.example.com:7050 -c mychannel -t 50 -f ./channel-artifacts/mychannel.tx
7.建立完channel後,需要通過mychannel.block檔案來加入該channel,以便後續可以安裝執行個體化并測試智能合約。
具體指令如下
peer channel join -b mychannel.block
8.安裝智能合約
peer chaincode install -n mychannel -p github.com/hyperledger/fabric/chaincode/go/chaincode_example02 -v 1.0
9.執行個體化智能合約
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mychannel -c '{"Args":["init","A","100","B","150"]}' -P "OR ('Org1MSP.member','Org2MSP.member')" -v 1.0
10.查詢合約指令
peer chaincode query -C mychannel -n mychannel -c '{"Args":["query","A"]}'
11.根據合約内容,讓A給B轉5快錢,執行如下指令
peer chaincode invoke -C mychannel -n mychannel -c '{"Args":["invoke", "A", "B", "20"]}'