Fabric v1.4.3环境

2023-10-30 12:08
文章标签 环境 v1.4 fabric

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

    这里,介绍在Ubuntu16.04上安装Fabric v1.4.3单机版本,步骤如下。

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 v1.4.3

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.3

2.3 安装加密工具、CA工具

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

## 1.1) 下载加密工具
wget https://github.com/hyperledger/fabric/releases/download/v1.4.3/hyperledger-fabric-linux-amd64-1.4.3.tar.gz
## 1.2) 下载CA工具
wget https://github.com/hyperledger/fabric-ca/releases/download/v1.4.3/hyperledger-fabric-ca-linux-amd64-1.4.3.tar.gz# 2.1) 将这2个工具解压到 fabric-samples目录下
tar zxvf hyperledger-fabric-linux-amd64-1.4.3.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
tar zxvf hyperledger-fabric-ca-linux-amd64-1.4.3.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-samples/scripts/目录,运行如下脚本,也可以安装这2个工具。

# ./bootstrap.sh <fabric> <fabric-ca> <thirdparty>
cd $GOPATH/src/github.com/hyperledger/fabric-samples/scripts
./bootstrap.sh 1.4.3 1.4.3 0.4.15

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

2.4 安装fabric的相关镜像

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

3、设置环境

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

## 打开/etc/profile
sudo vim /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.3环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/307812

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme