hyperledger fabric 2.2环境搭建以及测试网络

准备工作

(严格按照官网安装步骤安装这4个工具)

拉取github上hyperledger fabric源代码

mkdir -p ~/go/src/github.com/hyperledger

cd go/src/github.com/hyperledger/

git clone "https://github.com/hyperledger/fabric.git"

cd fabric/

cd scripts/

sudo ./bootstrap.sh(输完这个命令会下载很多东西)

测试网络命令在fabric-samples/test-network运行,下面,命令解释和运行都在官网测试网络界面:https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html

第一步

su 
cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network
//记得测试的时候,进入管理员界面,不管用sudo测试环境会出现各种错误

 ./network.sh up

结果出现2个peer容器和一个orderer容器,如图
在这里插入图片描述

第二步:建立频道(管理员界面下)

//系统给的名字
./network.sh createChannel

//or`./network.sh createChannel -c频道名字`直接给通道起名字

结果参照官网

在这里插入图片描述

第三步启动链码

./network.sh deployCC

这里我查了网上很多blog,发现都出现了错误,此时我们可以换个网络(ps:校园网真的很慢,报错timeout)

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

之后再次运行(网速快可以成功)

./network.sh deployCC

第四步:与网络互动

//test-netork下
export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/

配置环境
//.profile里
//不同版本.profile路径不同

#Environment variables for Org1
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

//刷新.profile

. 路径/.profile

第5步: 使用资产初始化分类帐


peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}'

结果
在这里插入图片描述
这里看不起楚,我们可以参照官网
在这里插入图片描述

第6步

查询分类帐。运行以下命令以获取已添加到渠道分类帐的资产列表:

peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'

结果:
在这里插入图片描述
这里看不清楚,我们可以参照官网
在这里插入图片描述

第7步

当网络成员要转移或更改分类帐上的资产时,将调用链码。使用以下命令通过调用资产转移(基本)链码来更改分类帐上资产的所有者:

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}'

结果
在这里插入图片描述
这里看不清楚,我们可以看官网:
在这里插入图片描述

第8步

调用链代码后,我们可以使用另一个查询来查看该调用如何更改了区块链分类账上的资产。由于我们已经查询过Org1对等体,因此我们可以借此机会查询Org2对等体上运行的链码。设置以下环境变量以作为Org2进行操作

gedit 路径/.profile
#Environment variables for Org2
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051

. 路径/.profile

您现在可以查询运行在的资产转移(基本)链码

peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","asset6"]}'

结果
在这里插入图片描述
这里看不清楚,我们可以查看官网
在这里插入图片描述

停止网络

./network.sh down
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值