(三) HyperLedger Fabric 网络构建过程分析

连入CLI了,乱七八糟的链码什么的都已经映射到CLI容器中了。现在这个CLI是以某Peer的身份运行的,他包含了TLS的证书、MSP等必要的文件和目录。

1. 确定Chaincode的存放目录

这个就是跟着CLI容器的配置,直接映射到容器中的目录的,具体要用哪个语言写的chaincode其实都无所谓。

2. Create Channel

先判断一下是否开启了服务器端验证:CORE_PEER_TLS_ENABLED,如果开了, 那就得把TLS证书传进去。这个证书应该是放在example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem。

然后执行命令:

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt

这个channel.tx就是在创建channel时得到的transaction

这样我们就得到了一个以channel name命名的block,用于下面的peer加入channel

3. Peer Join Channel

然后就是把每个Peer,加入到Channel中去。

peer channel join -b $CHANNEL_NAME.block >&log.txt

拿起我们的channel.block。这个block是channel的创世区块,当然,peer要想能加入到这个channel,block中需要有这个peer的配置。至于在网络建立之后,如何再加入新的peer,后面再说。

神奇的是,Fabric中peer是有可能join失败的,所以他默认是要尝试5次。

4. 更新Anchor Peer

Anchor Peer有什么用呢,简单来说就是用来跑Gossip协议的。Fabric的Gossip协议是运行在Organization之间的,Organization内部的Peer并不会直接跟其它的Organization进行交互,而是通过Anchor Peer。

其实这个就跟Create Channel差不多啦,把之前创建好的OrgXMSPanchors.tx加进来。

peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt

5. Install Chaincode

其实现在网络就已经构建完成了,下面就是在各锚节点上Install Chaincode了。

peer chaincode install -n fabcar -v ${VERSION} -l ${LANGUAGE} -p ${CC_SRC_PATH} >&log.txt

这几个参数都比较简单了,就是把chaincode的所在目录传进去,就OK了。

6. Instantiate Chaincode

这一步就是部署我们的Chaincode。

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n fabcar -l ${LANGUAGE} -v 1.0 -c '{"Args":["initLedger"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')" >&log.txt

需要注意的就是 -c 这个地方是要指定我们要调用的方法和参数,-P就是这个chaincode的对应背书策略

7. Query

发起查询来验证chaincode的执行结果,Query是不会写入transaction的,所以不会被记录。

peer chaincode query -C $CHANNEL_NAME -n fabcar -c '{"Args":["queryCar","CAR1"]}' >&log.txt

-c也是执行的chaincode方法名和参数

 

下一步我们设计大规模节点,来测试Fabric的事务并发性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hyperledger Fabric是一个开源的区块链平台,它提了一个可扩展的、高度灵活的架构,用于构建企业级区块链解决方案。而Hyperledger Fabric Python SDK是用于与Hyperledger Fabric网络进行交互的Python软件开发工具包。 使用Hyperledger Fabric Python SDK,您可以通过编写Python代码来创建、部署和管理Fabric网络中的智能合约、通道和节点。它提供了一组丰富的API,使得与Fabric网络进行交互变得更加简单和方便。 以下是一些关于Hyperledger Fabric Python SDK的重要概念和功能: 1. 安装:您可以使用pip命令来安装Hyperledger Fabric Python SDK。安装完成后,您可以导入SDK并开始使用它。 2. 网络连接:使用SDK,您可以连接到Hyperledger Fabric网络。您需要提供网络配置文件和身份证书来建立与网络的连接。 3. 通道和智能合约:SDK允许您创建和管理通道,通道是在Fabric网络中进行交易的私有区域。您还可以使用SDK来部署和调用智能合约,智能合约是在Fabric网络中执行业务逻辑的代码。 4. 身份管理:SDK提供了身份管理功能,您可以使用它来创建和管理身份证书,以便在Fabric网络中进行身份验证和授权。 5. 交易处理:SDK允许您创建和发送交易请求到Fabric网络。您可以使用SDK来构建交易请求,并将其发送到网络中的适当通道和智能合约进行处理。 6. 事件监听:SDK还支持事件监听功能,您可以使用它来监听Fabric网络中的事件,例如新区块的生成或智能合约的状态更改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值