前言
最近在参加一个比赛,使用到了区块链的开源软件hyperledger,由于之前从未接触过区块链,以及和区块链开发相关的内容,所有在网上查阅了大量的资料,并且通过学习yeasy(杨宝华)开源的入门书籍区块链技术指南以及进阶学习的《区块链原理、设计与应用》,对区块链的一些相关概念有了一定认识。这里记录的是我安装hyperledger fabric的所有步骤,同时也是一个快速搭建单机环境的参考教程。
准备好机器环境本人的区块链网络部署在VMware搭建的ubuntu16.04的环境下(推荐使用该版本的系统),详细的系统版本为ubuntu-16.04.4-desktop-amd64.iso,是从网易开源镜像站下载的。对于如何使用VMware安装虚拟机以及让虚拟机访问网络,网上有许多教程,这里就不重复讲了。 当将系统安装完成后,需要更换源,使用desktop版的可以直接在设置里面选择最佳服务器,如下图所示
若使用的是服务器版本,则可以使用如下命令换成高速的源先备份原来的源文件
$ sudo cp /etc/apt/source.list /etc/apt/source.list.bak打开source.list文件,删除原来的内容
$ sudo vim /etc/apt/source.list任选下面一组源文件复制到source.list中
网易源
deb trusty main restricted universe multiverse deb trusty-security main restricted universe multiverse deb trusty-updates main restricted universe multiverse deb trusty-proposed main restricted universe multiverse deb trusty-backports main restricted universe multiverse deb-src trusty main restricted universe multiverse deb-src trusty-security main restricted universe multiverse deb-src trusty-updates main restricted universe multiverse deb-src trusty-proposed main restricted universe multiverse deb-src trusty-backports main restricted universe multiverse阿里源
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted deb-src xenial main restricted #Added by software-properties deb xenial main restricted deb-src xenial main restricted multiverse universe #Added by software-properties deb xenial-updates main restricted deb-src xenial-updates main restricted multiverse universe #Added by software-properties deb xenial universe deb xenial-updates universe deb xenial multiverse deb xenial-updates multiverse deb xenial-backports main restricted universe multiverse deb-src xenial-backports main restricted universe multiverse #Added by software-properties deb xenial partner deb-src xenial partner deb xenial-security main restricted deb-src xenial-security main restricted multiverse universe #Added by software-properties deb xenial-security universe deb xenial-security multiverse搜狐源
deb trusty main restricted universe multiverse deb trusty-security main restricted universe multiverse deb trusty-updates main restricted universe multiverse deb trusty-proposed main restricted universe multiverse deb trusty-backports main restricted universe multiverse deb-src trusty main restricted universe multiverse deb-src trusty-security main restricted universe multiverse deb-src trusty-updates main restricted universe multiverse deb-src trusty-proposed main restricted universe multiverse deb-src trusty-backports main restricted universe multiverse复制进去后,使用:wq保存,然后使用如下命令更新一下
$ sudo apt-get install update执行完成后环境就基本上准备好了,如果使用的是服务器版本,觉得使用不方便的话,可以使用xshell之类的远程连接工具连接你的虚拟机。如果你的环境搭建再云服务器上,例如阿里云或者腾讯云,可以不用更新源,直接在自己的主机上使用远程连接工具连接上云主机,环境就算完成了(若在本地不能连接上云主机,或者虚拟机,检查一下ssh是否已经安装并启动,若没有,可以参加网上的教程,配置远程连接)。
安装GO语言环境不推荐使用apt的方式安装GO,原因是这样安装的版本比较老,推荐安装最新版的GO,具体安装命令如下
下载最新的GO安装包,具体的最新版本号可以从Golang官网上查看
$ wegt https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz解压安装包到/usr/local目录下
$ sudo tar -C usr/local -xzf go1.10.2.linux-amd64.tar.gz编辑当前用户的环境变量
$ vim ~/.profile添加如下内容
export PATH=$PATH:/usr/local/go/bin export GOROOT=http://www.likecs.com/usr/local/go #这里配置的GOPATH目录为家目录的的go文件夹 export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin使用:wq保存后使用如下命令将保存立即刷新
$ source ~/.profile建立GOPATH目录 由于在环境变量中配置了GOPATH目录的位置,所以我们需要在家目录下创建该文件夹
$ cd ~ $ mkdir go查看go版本,测试环境配置是否成功
$ go version go version go1.10 linux/amd64 安装Docker这里使用的Docker的官方文档来安装docker
如果系统中有旧版本的Docker,需要先使用如下命令卸载
$ sudo apt-get remove docker docker-engine docker.io更新apt包索引
$ sudo apt-get update安装软件包以允许apt通过HTTPS使用远程库
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common若出现无法识别命令,可以先将该命令复制到一个文本文件中,将\去掉,将所有语句放在同一行下,然后复制执行。
添加Docker的官方GPG密钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -