20

二、hyperledger fabric fabric-samples 环境测试

 3 years ago
source link: https://learnblockchain.cn/article/1333
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

hyperledger fabric 基础环境搭建

基础环境搭建参考

一、hyperledger fabric 基础环境搭建

一、下载fabric-samples、二进制文件、镜像文件

1、进入gopath目录下,创建目录src/github.com/hyperledger,进到该目录

qYFbYzB.png!web

2、下载官网上面的bootstrap.sh,修改可执行权限,chmod +x bootstrap.sh

jaiQFz2.png!web

3、执行bootstrap.sh下载fabric-samples、二进制文件、docker镜像,网络不好的同学耐心等待哈。

yqa63yi.png!web

二、运行fabric-samples下面的first-network,网络测试

1、cd first-network

2、先关闭网络,确保服务是关闭状态

./byfn.sh down

MFBVvib.png!web

3、创建网络

./byfn.sh generate

qMbiYj.png!web

创建成功后生成两个组织、四个对等节点

genesis.block为创世区块的配置文件

4、启动网络测试

./byfn.sh up

n2qIVbZ.png!web

查看docker进程

IRFFVjN.png!web

5、关闭网络

./byfn.sh down

euIzieR.png!web

fueuEbq.png!web

三、测试智能合约调用

1、生成初始区块

../bin/cryptogen generate --config=./crypto-config.yaml

7BNRFr7.png!web

设置FABRIC配置文件路径

export FABRIC_CFG_PATH=$PWD

R73QZvN.png!web

生成创世区块

../bin/configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block

ZnABf22.png!web

2、设置区块链名称,生成应用通道相关信息

export CHANNEL_NAME=mychannel

ja2mIr.png!web

../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME

mM3YZrU.png!web

3、生成锚节点,更新配置文件

../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP

../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP

zuM3AfU.png!web

4、启动网络

docker-compose -f docker-compose-cli.yaml up -d

nUJ7raV.png!web

5、进入docker 命令行

docker exec -it cli bash

YvqamqF.png!web

6、生成一个通道

export CHANNEL_NAME=mychannel

faeAFfU.png!web

创建通道

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

MvMBbqa.png!web

7、加入通道

peer channel join -b mychannel.block

aeQrM3.png!web

8、安装链码

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

RnYvima.png!web

9、实例化链码,时间较长,耐心等待

peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

VfMBB3A.png!web

10、查询

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'

MjeeAzu.png!web

11、转账调用(invoke)

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

z6RZbaA.png!web

基础环境搭建参考

一、hyperledger fabric 基础环境搭建

一、下载fabric-samples、二进制文件、镜像文件

1、进入gopath目录下,创建目录src/github.com/hyperledger,进到该目录

qYFbYzB.png!web

2、下载官网上面的bootstrap.sh,修改可执行权限,chmod +x bootstrap.sh

jaiQFz2.png!web

3、执行bootstrap.sh下载fabric-samples、二进制文件、docker镜像,网络不好的同学耐心等待哈。

yqa63yi.png!web

二、运行fabric-samples下面的first-network,网络测试

1、cd first-network

2、先关闭网络,确保服务是关闭状态

./byfn.sh down

MFBVvib.png!web

3、创建网络

./byfn.sh generate

qMbiYj.png!web

创建成功后生成两个组织、四个对等节点

genesis.block为创世区块的配置文件

4、启动网络测试

./byfn.sh up

n2qIVbZ.png!web

查看docker进程

IRFFVjN.png!web

5、关闭网络

./byfn.sh down

euIzieR.png!web

fueuEbq.png!web

三、测试智能合约调用

1、生成初始区块

../bin/cryptogen generate --config=./crypto-config.yaml

7BNRFr7.png!web

设置FABRIC配置文件路径

export FABRIC_CFG_PATH=$PWD

R73QZvN.png!web

生成创世区块

../bin/configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block

ZnABf22.png!web

2、设置区块链名称,生成应用通道相关信息

export CHANNEL_NAME=mychannel

ja2mIr.png!web

../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME

mM3YZrU.png!web

3、生成锚节点,更新配置文件

../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP

../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP

zuM3AfU.png!web

4、启动网络

docker-compose -f docker-compose-cli.yaml up -d

nUJ7raV.png!web

5、进入docker 命令行

docker exec -it cli bash

YvqamqF.png!web

6、生成一个通道

export CHANNEL_NAME=mychannel

faeAFfU.png!web

创建通道

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

MvMBbqa.png!web

7、加入通道

peer channel join -b mychannel.block

aeQrM3.png!web

8、安装链码

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

RnYvima.png!web

9、实例化链码,时间较长,耐心等待

peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

VfMBB3A.png!web

10、查询

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'

MjeeAzu.png!web

11、转账调用(invoke)

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

z6RZbaA.png!web

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 20分钟前
  • 阅读 ( 14 )
  • 学分 ( 0 )
  • 分类:Fabric

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK