HyperLedger Fabric v1.1.0-alpha 版本源码编译及单节点网络搭建

本文主要参考:https://blog.youkuaiyun.com/honganboy/article/details/78714578 的介绍,十分感谢作者。但是安装版本和环境不同,安装过程也遇到了一些小问题,因此也再写一篇供大家参考。

安装环境:操作系统-64位Centos7.2,Fabric版本-v1.1.0-alpha,Go语言版本-1.9.4

安装Go后,使用go env命令查看GOPATH,本且在本地尝试echo $GOPATH查看路径(如果不是同一个安装用户,可能为空)

一.编译Fabric源码

首先构建测试文件夹,在当前用户目录下创建如下文件结构:

fabric-1.1-release
----bin(放置所有编译后的二进制文件)
----networks(放置但节点网络所需的配置文件和区块链账本数据)
----chaincodes(放置链码相关,本篇暂不涉及)

下载Fabric v1.1.0-alpha 版本源码至GOPATH

wget https://codeload.github.com/hyperledger/fabric/tar.gz/v1.1.0-alpha
tar -xvf v1.1.0-alpha

mkdir -p $GOPATH/src/github.com/hyperledger
mv fabric-1.1.0-alpha $GOPATH/src/github.com/hyperledger/fabric

获取编译常量值,在farbic源码目录下运行make test-cmd命令获取-ldflags选项的取值:


之后编译源码时,都需要带着-ldflags指定。切换fabric-1.1-release/bin,开始进行编译

编译Orderer

Orderer节点是用于对交易进行排序和共识,生产环境可以支持Kafka模式。

go build -gcflags "-N -l" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.1.1-snapshot-38c190f -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.4.6 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.Experimental=true" github.com/hyperledger/fabric/orderer
编译Peer

Peer节点功能包含两部分,一部分是服务端用于交易的背书,提交等;另一部分是作为peer cli,支持命令行指令去配置channel、chaincode等。

go build -gcflags "-N -l" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.1.1-snapshot-38c190f -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.4.6 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.Experimental=true" github.com/hyperledger/fabric/peer
编译cryptogen

cryptogen用于生成交易签名及SSL通信用到证书及私钥对,可以使用fabric-ca或者其他ca颁发的证书,但测试环境使用crytogen更简单。

go build -gcflags "-N -l" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.1.1-snapshot-38c190f -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.4.6 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.Experimental=true" github.com/hyperledger/fabric/common/tools/cryptogen
编译configtxgen

configtxgen为区块链配置工具,用于生成orderer节点的创世区块、channel的配置、锚节点的配置等。

go build -gcflags "-N -l" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.1.1-snapshot-38c190f -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.4.6 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger -X github.com/hyperledger/fabri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值