1.手动搭建Fabric网络-详解链码安装、源码实例化过程
2.Ubuntu上搭建HyperLedger Fabric过程中,编译执行 ./byfn.sh generate一直报错?
手动搭建Fabric网络-详解链码安装、源码实例化过程
在HyperLedger的编译实践系列文章中,本文将深入探讨如何手动搭建Fabric网络,源码从链码的编译路由源码怎么使用安装到实例化过程,一步步解析关键步骤。源码首先,编译我们通过安装Fabric环境和克隆最新代码,源码确保系统具备创建Fabric网络的编译基础。
接下来,源码我们详细说明了网络搭建的编译超市java源码几个关键步骤:
1. 公私钥和证书生成
在Fabric网络中,涉及两种类型的源码证书:用于节点间通讯安全的TLS证书,以及用于用户登录和权限控制的编译用户证书。由于测试环境不使用CA节点,源码我们选择使用cryptogen工具生成证书。
1.1 编译cryptogen
通过Fabric源代码的make命令,我们能够编译生成cryptogen工具。运行成功后,可在build/bin文件夹下找到编译出的cryptogen程序。
1.2 配置crypto-config.yaml
该配置文件指导了Fabric网络的拓扑结构,包括不同组织和Peer的关系。通过分析示例文件,javagui界面源码我们理解了如何为特定组织配置公私钥和证书。
1.3 生成公私钥和证书
借助cryptogen工具,根据crypto-config.yaml配置文件,生成了必要的公私钥和证书。
2. 创世区块与Channel配置
创世区块与Channel配置区块是Fabric网络启动和通道创建的基石。
2.1 编译生成configtxgen
使用make命令,我们生成了用于生成配置区块和配置交易的configtxgen工具。
2.2 配置configtx.yaml
通过官方提供的模板文件,我们配置了Orderer和Peer的共识策略。配置完成后,通过configtxgen生成创世区块。callback源码解析
2.3 生成创世区块与Channel配置区块
生成的创世区块用于启动Ordering服务和配置网络策略;Channel配置区块用于新建应用通道,指定成员与访问策略。
2.4 更新锚节点
锚节点负责组织间通信,通过生成更新文件,确保网络中各节点能够正确通信。
3. 配置Fabric环境的Docker
利用Docker-compose文件,我们配置了环境,包括Orderer、Peer和CLI组件。
3.1 配置Orderer
在base/docker-compose-base.yaml中,我们为Orderer配置了路径映射、宽带测速 源码服务端口等信息。
3.2 配置Peer
Peer配置文件包含了服务地址、TLS信息、MSP信息等,确保Peer节点能够正确运行。
3.3 配置CLI
CLI作为客户端,配置了与Peer的连接信息以及脚本执行方式,用于执行SDK操作。
4. 初始化Fabric环境与创建Channel
通过执行docker-compose命令启动容器,我们完成了Fabric环境的初始化。然后,我们创建了Channel,并让各个Peer节点加入。
4.1 启动Fabric容器
在docker-compose-cli.yaml文件中配置好环境后,使用命令启动容器集群。
4.2 创建Channel
在CLI容器内,使用peer channel create命令创建Channel,并保存配置区块。
4.3 Peer加入Channel
通过修改CLI环境变量,指定连接的Peer节点,实现各节点加入Channel。
4.4 更新锚节点
完成Peer节点加入Channel后,更新锚节点配置以实现不同组织间的通信。
5. 链码安装与运行
最后,我们安装并运行链码,通过实例化过程将链码部署到Fabric网络中。具体操作包括安装链码、实例化链码以及执行交易。
5.1 安装链码
使用peer chaincode install命令,将链码安装到每个相关Peer节点上。
5.2 实例化链码
实例化过程生成包含链码实例的Docker镜像和容器,并通过与Orderer节点交互实现智能合约的激活。
5.3 执行交易
通过链码的调用执行转账操作,验证链码功能。
5.4 查询交易
在不同节点上查询交易,确保链码功能在全网内传播。
总结
通过以上步骤,我们不仅搭建了Fabric网络环境,还深入理解了链码安装与实例化的过程。理解这些关键步骤对于后续在生产环境中创建更复杂的网络和执行多样化链码提供了基础。在实施过程中遇到的任何问题,均可通过重新配置环境或深入理解Docker概念来解决。掌握Fabric网络的运行原理,对于进一步开发和优化区块链应用至关重要。
Ubuntu上搭建HyperLedger Fabric过程中,执行 ./byfn.sh generate一直报错?
这是我找到的一个解决方法,你看看有没有用:
在启动fabric中first-network网络时,需要执行一个自动化脚本:
./byfn.sh -m generate
该脚本需要自动生成相关证书信息,fabric官方提供了两款工具:configtxgen、cryptogen。在脚本执行中会从fabric-simple/bin中取查找并调用两者。初次启动时没有这个工具的。
解决方法:
进入fabric目录,看见make* 文件,使用make configtxgen、make cryptogen两个指令生成工具(如果之前搭建过fabric-1.0环境,直接进fabric/build将bin文件夹直接移动到fabric-sample目录即可)。生成后的文件在fabric/build/bin里面,移动到相关位置即可。
楼主如果对Linux系统感兴趣,想学习更多Linux系统操作知识,可以百度《Linux就该这么学》,不错的一本Linux入门学习教程。