Hyperledger Fabric 1.0创建channel

生成channel配置文件

在hyperledger fabric 1.0中,创建channel需要使用configtxgen工具进行配置,生成创世块。channel配置项一般写在configtx.yaml文件中。

下载cryptogen、configtxgen等工具

curl -sSL https://goo.gl/eYdRbX | bash

下载完成后,工具会保存在bin文件夹。
也可以选择使用hyperledger源码自行编译。

cryptogen: $GOPATH/github.com/hyperledger/fabric/common/tools/cryptogen

configtxgen: $GOPATH/github.com/hyperledger/fabric/common/configtx/tool/configtxgen

指定path

将工具位置加入到环境变量中。

export PATH=$GOPATH/src/github.com/hyperledger/fabric/build/bin:${PWD}/../bin:${PWD}:$PATH
export FABRIC_CFG_PATH=${PWD}

cryptogen生成加密文件

cryptogen generate --config=./crypto-config.yaml //crypto-config.yaml是配置文件,可自行需改

执行完成后,生成crypto-config文件夹,内有order节点、peer节点的organization的配置信息。

configtxgen为orderer生成genesis block

configtxgen -profile $PROFILE_NAME -outputBlock ./config/genesis.block //$PROFILE_NAME在configtx.yaml命名

执行完成后,生成创世块genesis.block。

configtxgen 生成channel tx

configtxgen -profile $PROFILE_NAME -outputCreateChannelTx ./config/channel.tx -channelID $CHANNEL_NAME //$PROFILE_NAME,$CHANNEL_NAME在configtx.yaml命名

执行完成后,生成channel configuration transaction channel.tx。

部署chaincode

默认你已经启动好了fabric网络。

创建channel

 docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f channel.tx

将peer加入channel

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com peer channel join -b mychannel.block

部署 exmple02

进入cli节点

docker exec -it cli bash

install

peer chaincode install -p github.com/chaincode_example02 -n mycc -v 1.0 

Response

Installed remotely response:200 payload:"OK" > 
[main] main -> INFO 003 Exiting.....

instantiate

peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}'

Response

[main] main -> INFO 009 Exiting.....

invoke

peer chaincode invoke -n mycc -c '{"Args":["invoke","a", "b","50"]}' -C mychannel

Response

[main] main -> INFO 009 Exiting.....

peer chaincode query -n mycc -c ‘{“Args”:[“query”, “a”]}’ -C mychannel

Response

Query Result: 50
[main] main -> INFO 005 Exiting.....

你可能感兴趣的:(Hyperledger Fabric 1.0创建channel)