Ubuntu上搭建HyperLedger Fabric过程中,执行 ./byfn.sh generate一直报错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu上搭建HyperLedger Fabric过程中,执行 ./byfn.sh generate一直报错?相关的知识,希望对你有一定的参考价值。

在参考两份环境搭建的博客:https://blog.csdn.net/qq_32044245/article/details/81143945#%E6%80%BB%E7%BB%93https://www.jianshu.com/p/4f58e0fcb9f9都在执行 ./byfn.sh generate 命令生成相应的文件时报错。报错内容如下:Generating certs and genesis block for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' secondsContinue? [Y/n] yproceeding .../home/bigpie/hyperledger-fabric/fabric-samples/first-network/../bin/cryptogen############################################################### Generate certificates using cryptogen tool ###################################################################+ cryptogen generate --config=./crypto-config.yamlorg1.example.companic: runtime error: invalid memory address or nil pointer dereference[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x7e5d20]goroutine 1 [running]:github.com/hyperledger/fabric/common/tools/cryptogen/msp.GenerateVerifyingMSP(0xc420018600, 0x34, 0x0, 0x0, 0xc420014c01, 0x16, 0x0) /w/workspace/fabric-nightly-release-job-release-1.2-x86_64/gopath/src/github.com/hyperledger/fabric/common/tools/cryptogen/msp/generator.go:179 +0x2a0main.generatePeerOrg(0x8f393d, 0xd, 0xc420016620, 0x4, 0xc420016640, 0x10, 0x1, 0x8f1407, 0x2, 0xc420014c20, ...) /w/workspace/fabric-nightly-release-job-release-1.2-x86_64/gopath/src/github.com/hyperledger/fabric/common/tools/cryptogen/main.go:529 +0x8cemain.generate() /w/workspace/fabric-nightly-release-job-release-1.2-x86_64/gopath/src/github.com/hyperledger/fabric/common/tools/cryptogen/main.go:387 +0x139main.main() /w/workspace/fabric-nightly-release-job-release-1.2-x86_64/gopath/src/github.com/hyperledger/fabric/common/tools/cryptogen/main.go:221 +0x256+ res=2+ set +xFailed to generate certificates...该如何解决?

参考技术A 这是我找到的一个解决方法,你看看有没有用:
在启动fabric中first-network网络时,需要执行一个自动化脚本:

./byfn.sh -m generate

该脚本需要自动生成相关证书信息,fabric官方提供了两款工具:configtxgen、cryptogen。在脚本执行中会从fabric-simple/bin中取查找并调用两者。初次启动时没有这个工具的。

解决方法:

进入fabric目录,看见make* 文件,使用make configtxgen、make cryptogen两个指令生成工具(如果之前搭建过fabric-1.0环境,直接进fabric/build将bin文件夹直接移动到fabric-sample目录即可)。生成后的文件在fabric/build/bin里面,移动到相关位置即可。
楼主如果对Linux系统感兴趣,想学习更多Linux系统操作知识,可以百度《Linux就该这么学》,不错的一本Linux入门学习教程。
参考技术B 报错内容可以告诉我吗?aqui te amo。

Hyperledger Fabric 1.1安装部署-基础环境搭建

在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助。
本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS。
运行hyperledger fabric,建议至少4GB的内存。

更改aptget源:
初装ubuntu的Aptget源很慢,国内提供的源有很多,可以找一个适合自己的,我采用的是阿里的源。
更改aptget阿里源的方法:
1 复制原文件备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2 编辑源列表文件

sudo vim /etc/apt/sources.list

3 将原来的列表删除,添加如下内容(也可以替换成其他源)

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb-src http://archive.canonical.com/ubuntu xenial partner

4 运行sudo apt-get update
5 运行sudo apt-get upgrade

环境准备:

Docker: v18.03.0-ce 
Docker-Compose: v1.20.1
Go: v1.9

以下非必须,可选择安装。

Node: v8.11.1
npm: v5.8.0
git: v2.16.2
Python: v2.7.x

 

环境安装:
下面介绍手动安装过程(Go,Docker,Docker-Compose)。其他工具如果需要请自行安装。

Go安装:
1下载go安装包

wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

2解压安装包

sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

3设置环境变量

vim ~/.profile

4 添加以下内容:

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

5 保存退出,载入环境:

source ~/.profile

6 根据环境变量设置,创建go文件夹

cd ~
mkdir go

7 使用go version查看go的版本信息。

Docker安装:
1如果已经安装旧版本docker,先将其卸载,如果没有可跳过此步。

sudo apt-get remove docker docker-engine docker.io

2 设置Docker存储库。之后就可以从存储库安装和更新Docker。

sudo apt-get -y install apt-transport-https ca-certificates

3 添加Docker的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4 更新apt软件包

sudo apt-get update

5 安装

sudo apt-get install docker-ce

6 将用户添加到用户组($USER替换成自己的用户)

sudo usermod -aG docker $USER

7 查看docker版本信息

docker version

8 常用docker命令

删除一个容器:docker rm 
强制删除一个容器:docker rm -f 
强制删除全部容器:docker rm -f $(docker ps -aq)
杀死所有正在运行的容器:docker kill $(docker ps -a -q)
删除所有已经停止的容器:docker rm $(docker ps -a -q)
删除所有镜像:docker rmi $(docker images -q)
强制删除所有镜像:docker rmi -f $(docker images -q)

docker镜像加速有人喜欢阿里云,有人喜欢DaoClound,具体按自己的情况进行设置,这里就不再赘述。

Docker-Compose的安装:
Docker-Compose的安装相对比较简单
1 安装python-pip

sudo apt-get install python-pip

2 安装Docker-Compose

sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

3 查看Docker-Compose版本

docker-compose version

至此基础环境搭建完毕。

以上是关于Ubuntu上搭建HyperLedger Fabric过程中,执行 ./byfn.sh generate一直报错?的主要内容,如果未能解决你的问题,请参考以下文章

基于docker的 Hyperledger Fabric 多机环境搭建(上)

Ubuntu环境下搭建hyperledger fabric超级无敌详细教程

Ubuntu18.04 下搭建Hyperledger Fabric v1.0环境

Hyperledger Fabric 1.4环境搭建详尽

Hyperledger Fabric 1.4环境搭建详尽

Hyperledger Fabric环境搭建过程