搭建Fabric v1.4.0单机版

2023-10-30 12:08
文章标签 搭建 v1.4 fabric 单机版

本文主要是介绍搭建Fabric v1.4.0单机版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    Fabric是一个开源的、有许可机制的、企业级的分布式账本,它支持智能合约、共识可插拔、子网数据隔离、身份认证等功能,应用于银行、金融、保险、医疗、人力资源、供应链、和数字音乐分发等领域。这里,介绍在Ubuntu16.04上安装Fabric v1.4.0单机版本,步骤如下。

1、软件准备

    Fabric需要docker、go等软件的支持,具体如下:

  • curl 7.47以上版本
  • git 2.7.4以上版本
  • docker 17.06以上版本
  • docker-compose 1.14以上版本
  • go 1.11 以上版本

1.1 安装curl

sudo apt-get install curl

1.2 安装git

sudo apt-get install git

1.3 安装docker

    a)下载docker

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce

    b) 将当前用户添加到Docker用户组

## 创建docker用户组
sudo groupadd docker## 添加当前用户到docker用户组
sudo usermod -aG docker $USER

    c) 设置docker镜像源
    编辑daemon.json文件,如果没有该文件自行创建

sudo vim /etc/docker/daemon.json

    在daemon.json里,添加如下内容:

{
"registry-mirrors":["https://obou6wyb.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}

    重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

1.4 安装docker-compose

#运行以下命令下载最新版本的 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose  sudo chmod +x /usr/local/bin/docker-compose#查看版本
docker-compose -version   
#出现 docker-compose version 1.18.0, build 8dd22a9 就表示安装完成

1.5 安装go

# 1) 下载go 1.14,并解压到/usr/local
wget https://golang.google.cn/dl/go1.14.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz# 2) 配置go环境
##  2.1) 在/usr/local新建一个文件夹名称为gocode
cd /usr/local
mkdir gocode## 2.2) 修改/etc/profile
sudo vim /etc/profile## 添加如下路径:
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gocode
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH## 2.3) 使能go环境
source /etc/profile

2、安装Fabric

2.1 下载fabric源码

    a)创建hyperledger目录

mkdir -p $GOPATH/src/github.com/hyperledger 
cd $GOPATH/src/github.com/hyperledger

    b) 下载Fabric源码

git clone https://github.com/hyperledger/fabric.git

    c) 切换到 1.4版本

cd fabric 
git branch -a 
git checkout release-1.4

2.2 下载fabric-sample源码

    a)进入hyperledger目录

## 1) 进入hyperleder目录
cd $GOPATH/src/github.com/hyperledger## 2)克隆fabric-samples项目并切换到v1.4tag
git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
git checkout -b sample v1.4.0

2.3 安装加密工具、CA工具

    a) 方法一
    手动安装这2个工具

## 1.1) 下载加密工具
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.4.0/hyperledger-fabric-linux-amd64-1.4.0.tar.gz
## 1.2) 下载CA工具
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.4.0/hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz# 2.1) 将这2个工具解压到 fabric-samples目录下
tar zxvf hyperledger-fabric-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
tar zxvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/## 2.2) 向/etc/profile中写入环境变量
sudo echo 'export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH' >> /etc/profile## 2.3) 使环境变量生效
source /etc/profile

    b) 方法二
    使用脚本来安装这2个工具,
    进入$GOPATH/src/github.com/hyperledger/fabric/scripts/目录,运行如下脚本,也可以安装这2个工具。

# ./bootstrap.sh <fabric> <fabric-ca> <thirdparty>
cd $GOPATH/src/github.com/hyperledger/fabric/scripts
./bootstrap.sh 1.4.0 1.4.0 0.4.14

    由于使用脚本进行安装时,经常出现网络无法访问的情况,要等2个小时,所以,推荐使用方法一手动安装这2个工具。

2.4 安装fabric的相关镜像

## 1) 基础镜像
docker pull hyperledger/fabric-peer:1.4.0
docker tag hyperledger/fabric-peer:1.4.0 hyperledger/fabric-peer:latestdocker pull hyperledger/fabric-orderer:1.4.0
docker tag hyperledger/fabric-orderer:1.4.0 hyperledger/fabric-orderer:latestdocker pull hyperledger/fabric-tools:1.4.0
docker tag hyperledger/fabric-tools:1.4.0 hyperledger/fabric-tools:latestdocker pull hyperledger/fabric-ccenv:1.4.0
docker tag hyperledger/fabric-ccenv:1.4.0 hyperledger/fabric-ccenv:latestdocker pull hyperledger/fabric-ca:1.4.0
docker tag hyperledger/fabric-ca:1.4.0 hyperledger/fabric-ca:latest## 2) 数据库与消息队列镜像
docker pull hyperledger/fabric-couchdb:0.4.14
docker tag hyperledger/fabric-couchdb:0.4.14 hyperledger/fabric-couchdb:latestdocker pull hyperledger/fabric-kafka:0.4.14 
docker tag hyperledger/fabric-kafka:0.4.14 hyperledger/fabric-kafka:latestdocker pull hyperledger/fabric-zookeeper:0.4.14 
docker tag hyperledger/fabric-zookeeper:0.4.14 hyperledger/fabric-zookeeper:latest## 3) Java语言包镜像(可选)
docker pull hyperledger/fabric-javaenv:1.4.0
docker tag hyperledger/fabric-javaenv:1.4.0 hyperledger/fabric-javaenv:latest

    效果如下:

图(1) 安装fabric相关的docker镜像

3、设置环境

    a) 启动fabric-samples/first-network网络所需二进制文件的默认路径为 fabric-samples/bin,可以将该路径添加入环境变量中:

## 打开/etc/profile
sudo gedit /etc/profile## 添加路径
export PATH=$GOPATH/bin:$GOROOT/bin:$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH## 使能环境
source /etc/profile

    /etc/profile的最终内容如下:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).if [ "$PS1" ]; thenif [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then# The file bash.bashrc already sets the default PS1.# PS1='\h:\w\$ 'if [ -f /etc/bash.bashrc ]; then. /etc/bash.bashrcfielseif [ "`id -u`" -eq 0 ]; thenPS1='# 'elsePS1='$ 'fifi
fiif [ -d /etc/profile.d ]; thenfor i in /etc/profile.d/*.sh; doif [ -r $i ]; then. $ifidoneunset i
fi# go Env
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gocode#path
export PATH=$GOPATH/bin:$GOROOT/bin:$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH

    b) 检查环境变量是否成功,若没有成功,请重启虚拟机

fabric-ca-client version
图(2) 查看fabric环境

4、测试first-network

4.1 启动网络

cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network# 启动网络
./byfn up
图(3) 启动first-network网络,若打印All GOOD,说明启动成功

4.2 调用合约

    a) 查看已经运行的docker列表

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}\t{{.Names}}"
图(4) 查看docker的运行状态

    b) 进入cli容器

docker exec -it cli bash

    使用查询命令

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'
图(5) 查询a和b的值

    若能查看a、b的值,说明fabric的单机环境已经安装完成。

4.3 关闭fabric网络

    由于fabric网络实例是单一的,所以当不使用fabric网络时,请及时关闭它。

./byfn.sh down

这篇关于搭建Fabric v1.4.0单机版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/307810

相关文章

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my