HyperLedger Fabric(二):单机网络构建

1. 简介

基于上一篇文章的基础环境,我们接着准备Fabric的相关组件并启动一个单机网络。

2. Fabric组件安装

Hyperledger (超级账本)是一组开源工具,旨在构建一个强大的、业务驱动的区块链框架。Hyperledger (超级账本)是区块链行业中最大的项目之一,它由一组开源工具和多个子项目组成。该项目是由 Linux 基金会主办的一个全球协作项目,其中包括一些不同领域的领导者们,这些领导者们的目标是建立一个强大的、业务驱动的区块链框架。

Hyperledger Fabric 是 Hyperledger 项目的基石。它是基于许可的区块链,或者更准确地说是一种分布式分类帐技术(DLT),该技术最初由 IBM 公司和 Digital Asset 创建。分布式分类帐技术被设计为具有不同组件的模块化框架(概述如下)。它也是提供可插入的共识模型的一种灵活的解决方案,尽管它目前仅提供基于投票的许可共识。

2.1 下载源码

通过git下载相关的源码并切换到对应的分支,本次使用的V1.4.0:

# 准备文件夹
sudo mkdir -p $GOPATH/src/github.com/hyperledger/
cd $GOPATH/src/github.com/hyperledger/
# 从github仓库下载源码
sudo git clone https://github.com/hyperledger/fabric.git
cd fabric
# 切换到对应的分支
sudo git checkout v1.4.0

# 检查当前分支
sudo git branch -v

main 687fa1e0a Create HashedIndex in Pvtdata Store retroactively
* (头指针分离于 v1.4.0) d700b4347 Merge "[FAB-13555] Release fabric v1.4.0" into release-1.4

2.2 编译源码

通过make工具获取构建网络所需要的工具:

make release

# bin目录下的工具是我们需要的
cd release/linux-amd64/bin/
ll
total 139160
drwxr-xr-x 2 root root     4096 Mar 27 16:59 ./
drwxr-xr-x 3 root root     4096 Mar 27 16:59 ../
-rwxr-xr-x 1 root root 18382880 Mar 27 16:59 configtxgen*
-rwxr-xr-x 1 root root 20274424 Mar 27 16:59 configtxlator*
-rwxr-xr-x 1 root root 11929624 Mar 27 16:59 cryptogen*
-rwxr-xr-x 1 root root 19367224 Mar 27 16:59 discover*
-rwxr-xr-x 1 root root      829 Mar 27 16:59 get-docker-images.sh*
-rwxr-xr-x 1 root root 10738976 Mar 27 16:59 idemixgen*
-rwxr-xr-x 1 root root 27215424 Mar 27 16:59 orderer*
-rwxr-xr-x 1 root root 34562296 Mar 27 16:59 peer*

2.3 准备构建

将bin目录下的工具复制到对应的位置上,并授予执行权限:

cd /opt/gopath/src/github.com/hyperledger/fabric
mkdir singlepeer
cp -r ./release/linux-amd64/bin/ ./singlepeer
cd singlepeer
sudo chmod -R 755 ./bin/*

2.4 下载镜像

由于Fabric使用容器化的方式运行组件,所以我们需要使用docker下载对应的镜像:

# 拉取镜像
sudo docker pull hyperledger/fabric-peer:1.4
sudo docker pull hyperledger/fabric-orderer:1.4
sudo docker pull hyperledger/fabric-tools:1.4
sudo docker pull hyperledger/fabric-ccenv:1.4
sudo docker pull hyperledger/fabric-baseos:0.4
sudo docker pull hyperledger/fabric-kafka:latest
sudo docker pull hyperledger/fabric-zookeeper:latest
sudo docker pull hyperledger/fabric-couchdb:latest

3. 编写配置文件

在singlepeer目录下准备三个配置文件,用于构建区块链网络。我们构建的网络有一个排序节点,一个peer节点。构建网络所用的工具为:

  1. cryptogen:构建身份认证相关的工具,主要生成整个网络中每个peer所需要的CA证书;
  2. configtxgen:构建创世区块所用的工具,主要包括了对整个网络的配置。

构建网络所需要的配置文件通常是根据HyperLedger Fabric官方提供的sample configuration进行修改的,不建议个人手动编写,以免格式上出错。

文件名称 说明
crypto-config.yaml 构建身份认证相关的工具,主要生成整个网络中每个peer所需要的CA证书和密钥
configtx.yaml 构建创世区块所用的工具,主要包括了对整个网络的配置
docker-compose-node.yaml 对启动的容器的参数进行配置,利用docker-compose快速启动

3.1 crypto-config.yaml

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
 
# ---------------------------------------------------------------------------
# "OrdererOrgs" - Definition of organizations managing orderer nodes
# ---------------------------------------------------------------------------
OrdererOrgs:
  # ---------------------------------------------------------------------------
  # Orderer
  # ---------------------------------------------------------------------------
  - Name: Orderer
    Domain: example.com
    # ---------------------------------------------------------------------------
    # "Specs" - See PeerOrgs below for complete description
    # ---------------------------------------------------------------------------
    Specs:
      - Hostname: orderer
# ---------------------------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes
# ---------------------------------------------------------------------------
PeerOrgs:
  # ---------------------------------------------------------------------------
  # Org1
  # ---------------------------------------------------------------------------
  - Name: Org1
    Domain: org1.example.com
    EnableNodeOUs: true
    # ---------------------------------------------------------------------------
    # "S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值