基于ubuntu16.04快速构建hyperledger Fabric网络

论坛 期权论坛 区块链     
Dmego   2018-11-20 23:36   3345   0
            
Hyperledger Fabric[h1]前言[/h1]最近在参加一个比赛,使用到了区块链的开源软件
  1. hyperledger
复制代码
,由于之前从未接触过区块链,以及和区块链开发相关的内容,所有在网上查阅了大量的资料,并且通过学习yeasy(杨宝华)开源的入门书籍区块链技术指南以及进阶学习的《区块链原理、设计与应用》,对区块链的一些相关概念有了一定认识。这里记录的是我安装
  1. hyperledger fabric
复制代码
的所有步骤,同时也是一个快速搭建单机环境的参考教程。
[h1]准备好机器环境[/h1]本人的区块链网络部署在
  1. VMware
复制代码
搭建的ubuntu16.04的环境下(推荐使用该版本的系统),详细的系统版本为
  1. ubuntu-16.04.4-desktop-amd64.iso
复制代码
,是从网易开源镜像站下载的。对于如何使用
  1. VMware
复制代码
安装虚拟机以及让虚拟机访问网络,网上有许多教程,这里就不重复讲了。
当将系统安装完成后,需要更换源,使用
  1. desktop
复制代码
版的可以直接在设置里面选择最佳服务器,如下图所示


更换源
若使用的是服务器版本,则可以使用如下命令换成高速的源
  • 先备份原来的源文件
  1. $ sudo cp /etc/apt/source.list /etc/apt/source.list.bak  
复制代码
  • 打开source.list文件,删除原来的内容
  1. $ sudo vim /etc/apt/source.list
复制代码
  • 任选下面一组源文件复制到source.list中
网易源
  1. deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
复制代码
阿里源
  1. # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted  deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties  deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted  deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties  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-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties  deb http://archive.canonical.com/ubuntu xenial partner  deb-src http://archive.canonical.com/ubuntu xenial partner  deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties  deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe  deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse  
复制代码
搜狐源
  1. deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse  deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse  deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse  deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse  deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse  deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse  deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse  deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse  deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse  deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
复制代码
复制进去后,使用
  1. :wq
复制代码
保存,然后使用如下命令更新一下
  1. $ sudo apt-get install update
复制代码
执行完成后环境就基本上准备好了,如果使用的是服务器版本,觉得使用不方便的话,可以使用
  1. xshell
复制代码
之类的远程连接工具连接你的虚拟机。如果你的环境搭建再云服务器上,例如阿里云或者腾讯云,可以不用更新源,直接在自己的主机上使用远程连接工具连接上云主机,环境就算完成了(若在本地不能连接上云主机,或者虚拟机,检查一下
  1. ssh
复制代码
是否已经安装并启动,若没有,可以参加网上的教程,配置远程连接)。
[h1]安装GO语言环境[/h1]不推荐使用
  1. apt
复制代码
的方式安装GO,原因是这样安装的版本比较老,推荐安装最新版的GO,具体安装命令如下
  • 下载最新的GO安装包,具体的最新版本号可以从Golang官网上查看
  1. $ wegt https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz
复制代码
  • 解压安装包到
    1. /usr/local
    复制代码
    目录下
  1. $ sudo tar -C usr/local -xzf go1.10.2.linux-amd64.tar.gz
复制代码
  • 编辑当前用户的环境变量
  1. $ vim ~/.profile
复制代码
添加如下内容
  1. export PATH=$PATH:/usr/local/go/binexport GOROOT=/usr/local/go#这里配置的GOPATH目录为家目录的的go文件夹export GOPATH=$HOME/goexport PATH=$PATH:$HOME/go/bin
复制代码
使用
  1. :wq
复制代码
保存后使用如下命令将保存立即刷新
  1. $ source ~/.profile
复制代码
  • 建立
    1. GOPATH
    复制代码
    目录
    由于在环境变量中配置了
    1. GOPATH
    复制代码
    目录的位置,所以我们需要在家目录下创建该文件夹
  1. $ cd ~$ mkdir go
复制代码
  • 查看go版本,测试环境配置是否成功
  1. $ go versiongo version go1.10 linux/amd64
复制代码
[h1]安装Docker[/h1]这里使用的
  1. Docker
复制代码
官方文档来安装docker
  • 如果系统中有旧版本的
    1. Docker
    复制代码
    ,需要先使用如下命令卸载
  1. $ sudo apt-get remove docker docker-engine docker.io
复制代码
  • 更新
    1. apt
    复制代码
    包索引
  1. $ sudo apt-get update
复制代码
  • 安装软件包以允许
    1. apt
    复制代码
    通过HTTPS使用远程库
  1. $ sudo apt-get install \    apt-transport-https \    ca-certificates \    curl \    software-properties-common
复制代码
若出现无法识别命令,可以先将该命令复制到一个文本文件中,将
  1. \
复制代码
去掉,将所有语句放在同一行下,然后复制执行。
  • 添加
    1. Docker
    复制代码
    的官方
    1. GPG
    复制代码
    密钥
  1. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
复制代码
  • 通过搜索指纹的最后8个字符,确认您现在拥有指纹识别码
    1. 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
    复制代码
  1. $ sudo apt-key fingerprint 0EBFCD88pub   4096R/0EBFCD88 2017-02-22      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88uid                  Docker Release (CE deb) sub   4096R/F273FCD8 2017-02-22
复制代码
  • 使用以下命令设置稳定版本的远程库
  1. $ sudo add-apt-repository \   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \   $(lsb_release -cs) \   stable"
复制代码
  • 再次更新
    1. apt
    复制代码
    包索引
  1. $ sudo apt-get update
复制代码
  • 使用
    1. apt
    复制代码
    安装
    1. docker-ce
    复制代码
  1. $ sudo apt-get install docker-ce
复制代码
  • 查看docker版本,测试环境配置是否成功
  1. $ docker versionClient: Version:      18.03.1-ce API version:  1.37 Go version:   go1.9.5 Git commit:   9ee9f40 Built:        Thu Apr 26 07:17:20 2018 OS/Arch:      linux/amd64 Experimental: false Orchestrator: swarmServer: Engine:  Version:      18.03.1-ce  API version:  1.37 (minimum version 1.12)  Go version:   go1.9.5  Git commit:   9ee9f40  Built:        Thu Apr 26 07:15:30 2018  OS/Arch:      linux/amd64  Experimental: false
复制代码
安装完成之后,需要将当前用户添加到
  1. docker
复制代码
用户组,然后为该用户添加
  1. sudo
复制代码
权限
  • 若没有创建
    1. docker
    复制代码
    用户组,可以使用如下命令创建一个
    1. GID
    复制代码
    1. 999
    复制代码
    ,组名为
    1. docker
    复制代码
    的用户组
  1. $ sudo groupadd –g 999 docker
复制代码
  • 将当前用户(ubuntu)添加到
    1. docker
    复制代码
    用户组并分配
    1. sudo
    复制代码
    权限
  1. $ sudo usermod -aG docker ubuntu
复制代码
注销后重新登录,然后添加阿里云的Docker Hub镜像(注意,不同版本的添加方法不同,见阿里云容器 Hub
[code]$ sudo mkdir -p /etc/docker$ sudo tee /etc/docker/daemon.json
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP