hyperledger fabric 源码调试(orderer)环境搭建教程

本文档详细介绍了如何在mac OS环境下,使用Goland进行hyperledger fabric的orderer源码调试。首先,你需要理解docker和docker-compose在fabric部署中的作用。接着,从fabric release-1.4版本开始,通过Goland打开源码,配置Run/Debug Configuration,设置环境变量,修改config配置,避免权限问题。然后,启动debug模式,并配合docker启动first-network的其他组件进行网络调试。测试阶段,可以在代码中设置断点,观察orderer与其他模块的交互。
摘要由CSDN通过智能技术生成

前言

​ 接触hyperledger fabric有一段时间了,看文档搭集群写链码都做过,但要深入理解还是通过源码比较直观,遂决定部署起来。同多机器部署一样,官文对源码调试的描述较少,网上有些前辈已经写过但少有明确每一步的原因,本系列文尝试依据个人理解来描述构建fabric源码调试环境的步骤,去掉docker这层障碍,并给出思考过程。

​ 之前有写过一篇hyperledger fabric 多机部署的教程,基于first-network示例,这次也是以它为基准,以便在遇到问题的时候更容易从官方文档找到解决方案。需要先走通first-network的搭建,有些配置项需要参考它。

​ 官文链接:https://hyperledger-fabric.readthedocs.io/en/release-1.4/build_network.html

分析

fabric模块划分比较细,采用docker是为了简化部署,同时在官方提供的文档中也大量采用shell脚本来引导,需要先大致明确几个概念:

docker:

​ 应用容器工具,可以将应用运行所需要的一些环境打包进去,方便移植。

docker-compose:

​ 用来运行一组docker实例,在first-network中,有一个orderer和4个peer,还有一个cli,在dockker-compose-cli.yaml中配置了各实例的环境变量,它又依赖./base/peer-base.yaml和./base/docker-compose-base.yaml,后续配置过程将主要围绕这几个文件展开。

shell脚本:

​ byfn.sh 中包含了整个first-network的启动和测试,有兴趣可以阅读一下,启动debug调试的过程中可能会从中参考运行参数。

工具 & 环境 & 前提

系统:mac OS 。windows最好弄个虚拟机或双系统。

IDE: goland2019.2 下载地址 https://www.jetbrains.com/go/ 我用的

假设您已经调试好官方文档里的first-netwotk,下述描述到“cd fabric-samples“都是指该示例相关的路径,不是在fabric源码中。

代码拉取

采用release-1.4的代码(如果使用其他版本代码,可能目录结构有差异,但本文重在理解解决思路,可参照着探索)

# 提前需确保gopath已经配置好,go的安装配置这里不赘述
cd <gopath>/src/github.com/hyperledger/

git clone https://github.com/hyperledger/fabric.git
cd fabric
git checkout release-1.4
git pull

拉取完成后,用Goland -> file -> Open ->选中fabric目录打开结构如下:

在这里插入图片描述

工作目录准备

在工程目录下创建目录

cd fabric
mkdir work_dir && cd work_dir  # 类似于fabric-samples目录,以下都参考fabric-samples的目录结构
mkdir bin             
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值