Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群

Fabric多节点集群部署
本文详细介绍Fabric多节点集群部署过程,包括启动orderer与peer节点服务、创建channel及运行ChainCode。并提供自动化脚本简化操作流程。

5启动Fabric多节点集群

5.1启动orderer节点服务

上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群。

首先启动orderer节点,切换至orderer.example.com服务器,即前文指定的10.130.116.8服务器,执行如下命令进入启动docker进程: 

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

 

 运行完毕后我们可以使用docker ps看到运行了一个名字为orderer.example.com的节点。如下图所示:

 

 

5.2启动peer节点服务

切换到peer0.org1.example.com服务器,即前文指定的10.130.116.9服务器,启动本服务器的peer节点和cli,执行如下命令: 

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

 

运行完毕后我们使用docker ps应该可以看到2个正在运行的容器,如下视图:

接下来依次在另外3台服务器运行启动peer节点容器的命令,执行命令与上述方案一致,如下所示: 

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

 

 现在我们整个Fabric4+1服务器网络已经成型,接下来是创建channel和运行ChainCode。

 

5.3创建channel和运行chaincode

切换到peer0.org1.example.com服务器上,使用该服务器上的cli来运行创建Channel和运行ChainCode的操作。首先需要进入cli容器,执行如下命令: 

docker exec -it cli bash 

进入容器后我们可以看到命令提示变为如下所示: 

root@dd815a900955:/opt/gopath/src/github.com/hyperledger/fabric/peer#

参考如下视图:

 说明我们已经以root的身份进入到cli容器内部。官方已经提供了完整的创建Channel和测试ChainCode的脚本,并且已经映射到cli容器内部,所以我们只需要在cli内运行如下命令: 

./scripts/script.sh mychannel

 

 该脚本会一步一步的完成创建通道,将其他节点加入通道,更新锚节点,创建ChainCode,初始化账户,查询,转账,再次查询等链上代码的各个操作都可以自动化实现。直到最后,系统提示如下视图:

 

 说明我们的4+1的Fabric多级部署成功了。我们现在是在peer0.org1.example.com的cli容器内,我们也可以切换到peer0.org2.example.com服务器,运行docker ps命令,可以看到本来是2个容器的,现在已经变成了3个容器,因为ChainCode会创建一个容器,如下视图: 

上图第一个docker ps执行只有最开始创建的两个容器,后一个docker ps命令执行后会发现有三个容器。

至此,整个官方给予的Fabric多机集群部署的工作都已经验证完成,下面需要我们通过手动方式来一台服务器一台服务器的配置,分别执行加入通道,更新锚节点,创建ChainCode,初始化账户,查询,转账,再次查询等链上代码的各个操作。

这些手动提交的步骤及代码均可在./scripts/script.sh中看到,具体的执行和操作流程将会在下一章详细讲解。

 

本章节及前面的一章可以直接参阅:Fabric 1.0的多机部署,在这位老师的博客里写的非常清楚,而且我也是参考这篇博客来完成多机多节点自动部署方案的,只是手动调配及后续操作在网上基本上没有可供参考的中文内容,需要查看官网文档来逐步实现。

截至目前,网络上已有的所有中文方面的博客、文档都是教会你如何跑通官方的e2e demo,也就是本章节及之前的内容,而后续的内容基本上找不到,但会有部分零散的存在,后续章节中在引用到的时候会添加对应的链接方便各位参阅。

转载于:https://www.cnblogs.com/aberic/p/7542167.html

Hyperledger Fabric 1.0 从零开始系列的第十二篇文章中,我们将介绍如何使用 fabric-sdk-java 应用程序来与 Hyperledger Fabric 交互。 fabric-sdk-java 是一个 Java 版本的 Hyperledger Fabric SDK,它提供了一种方便的方式来与 Hyperledger Fabric 网络进行交互。它使用 Fabric 的 Java 操作系统链码(Java Chaincode)来运行链码,同时也支持 Go 语言链码。 以下是使用 fabric-sdk-java 的步骤: 1. 下载 fabric-sdk-java,并将其添加到您的 Java 项目中。 2. 创建一个 ConnectionProfile 对象,该对象定义了与 Fabric 网络的连接参数。 3. 创建一个 HFClient 对象,该对象表示一个 Fabric 用户的身份。 4. 通过调用 HFClient 对象的 setUserContext() 方法来设置用户身份。 5. 创建一个 Channel 对象,该对象表示与一个 Fabric 通道的连接。 6. 调用 Channel 对象的 initialize() 方法来初始化通道对象。 7. 创建一个 QueryByChaincodeRequest 对象,该对象用于查询链码。 8.调用 Channel 对象的 queryByChaincode() 方法,并传递 QueryByChaincodeRequest 对象作为参数,以执行查询。 9. 创建一个 TransactionProposalRequest 对象,它用于提交一个事务提议。 10. 调用 Channel 对象的 sendTransactionProposal() 方法,并传递 TransactionProposalRequest 对象作为参数,以向 Fabric 提交事务提议。 11. 创建一个 TransactionRequest 对象,该对象包含有关要提交的事务的详细信息。 12. 调用 Channel 对象的 sendTransaction() 方法,并传递 TransactionRequest 对象作为参数,以提交事务。 通过使用 fabric-sdk-java,您可以轻松地与 Hyperledger Fabric 网络进行交互,并执行各种操作,例如查询链码和提交事务。 希望这篇文章对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值