准备vmware虚拟机,并安装完ubuntu系统后。继续搭建fabric运行环境。。。

0。打开终端,切换root身份。目的:后续操作即可不用sudo...

右键-》open Terminal-》

//默认root用户是无固定密码的,并且是被锁定的,如果想给root设置一个密码
sudo passwd root
//输入密码 & 确认密码 //切换root用户
su root
//输入密码即可--root //切换为普通用户
su username //eg:su yufeng

1。安装GIT

apt-get install git  //安装git

git version  //查看版本号

2。安装docker 和 docker-compose(必须)

//1.卸载旧版本的Docker
//旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载: apt-get remove docker docker-engine docker.io //2。使用存储库安装docker (一)。设置存储库 //【1】.更新apt安装包索引 apt-get update //【2】。安装软件包以允许apt通过HTTPS使用存储库: apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common //【3】。添加Docker官方的GPG密钥: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - //【4】。安装稳定版仓库
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" (二)。安装Docker-CE版 。更新apt安装包索引: apt-get update -。安装最新版的Docker CE apt-get install docker-ce -。安装指定版本的Docker CE 【】。查看docker版本 apt-cache madison docker-ce 【】。安装指定版本docker apt-get install docker-ce=<VERSION> 。通过运行hello-world镜像验证Docker CE已被正确安装: docker run hello-world //出现Hello from Docker表示成功 4.安装docker-compose [1].安装pip
    $ apt-get install python-pip  

[2].安装docker-compose
    $ pip install docker-compose>=1.8.0

3。安装node(必须)

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

4。安装GO及配置环境变量

【1】。下载最新版本的go二进制文件

将go的压缩文件下载到指定目录下(-P /opt :下载到指定目录/opt下)

wget -P /opt https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz
//解压缩
sudo tar -C /opt -xzf go1.9.2.linux-amd64.tar.gz

【2】。配置环境变量

vi /etc/profile

在配置文件末尾增加内容:

export GOROOT=/opt/go
export GOARCH=amd64
export GOOS=linux
export GOPATH=/opt/gopath
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

注意:上述将原博客/etc/local修改为/opt是因为在执行fabric实例时,一直报order service有问题。。且指向/opt/gopath....异常

退出编辑,输入以下命令使修改生效:

source /etc/profile

查看go环境是否安装与配置成功

go version

若出现:go version go1.9.2 linux/amd64 则表明配置成功!

说明:

关于GOPATH,这是go程序运行的目录,也就是所有编写的go程序都要放在这个目录下。

根据上述配置,我们在~目录先新建一个gopath文件夹,然后新建三个文件夹src,pkg,bin。

其中src存放源码,pkg存放编译生成的文件,bin存放生成的可执行文件。

5。下载fabric

【1】。创建工作目录

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

【2】。下载fabric

cd ~/gopath/src/github.com/hyperledger
git clone -b release-1.0 https://github.com/hyperledger/fabric.git

上述下载完成之后,我们可以看到当前工作目录下多了一个fabric的文件夹,这就是我们下载好的文件,这里面有我们需要的例子。

至此,我们的开发环境已经基本搭建完毕,下面将通过一个具体的例子下载fabric1.0.5的镜像并体验运行效果。

6。运行Fabric实例

//切换工作路径。进入scripts文件夹下
cd ./fabric/scripts/
//查看scripts文件夹内容
ls

当前路径下面有许多的shell脚本文件。

//下载镜像
./bootstrap.sh
===> List out hyperledger docker images
hyperledger/fabric-tools latest 6a8993b718c8 weeks ago .33GB
hyperledger/fabric-tools x86_64-1.0. 6a8993b718c8 weeks ago .33GB
hyperledger/fabric-couchdb latest 9a58db2d2723 weeks ago .5GB
hyperledger/fabric-couchdb x86_64-1.0. 9a58db2d2723 weeks ago .5GB
hyperledger/fabric-kafka latest b8c5172bb83c weeks ago .29GB
hyperledger/fabric-kafka x86_64-1.0. b8c5172bb83c weeks ago .29GB
hyperledger/fabric-zookeeper latest 68945f4613fc weeks ago .32GB
hyperledger/fabric-zookeeper x86_64-1.0. 68945f4613fc weeks ago .32GB
hyperledger/fabric-orderer latest 368c78b6f03b weeks ago 151MB
hyperledger/fabric-orderer x86_64-1.0. 368c78b6f03b weeks ago 151MB
hyperledger/fabric-peer latest c2ab022f0bdb weeks ago 154MB
hyperledger/fabric-peer x86_64-1.0. c2ab022f0bdb weeks ago 154MB
hyperledger/fabric-javaenv latest 50890cc3f0cd weeks ago .41GB
hyperledger/fabric-javaenv x86_64-1.0. 50890cc3f0cd weeks ago .41GB
hyperledger/fabric-ccenv latest 33feadb8f7a6 weeks ago .28GB
hyperledger/fabric-ccenv x86_64-1.0. 33feadb8f7a6 weeks ago .28GB
hyperledger/fabric-ca latest 002c9089e464 weeks ago 238MB
hyperledger/fabric-ca x86_64-1.0. 002c9089e464 weeks ago 238MB

并且,这个脚本运行完毕之后,我们会发现当前目录下多了一个bin文件夹,这个文件夹中所包含的可执行文件正是我们运行例子所需要的。

现在我们需要把这个文件夹复制到我们需要运行的例子的上层目录中,输入命令:

cp -rf bin/ ./../examples/

接下来我们就可以运行官方给出的例子:e2e_cli

cd ./../examples/e2e_cli/
./network_setup.sh up

正常运行结果:

关闭实例:

Ctrl+c

./network_setup.sh down

本文参考博客:

https://blog.csdn.net/diligent_lee/article/details/79141450

https://segmentfault.com/a/1190000009072224

本人操作过程中遇到的问题及解决方法

1。安装git问题

https://askubuntu.com/questions/15433/unable-to-lock-the-administration-directory-var-lib-dpkg-is-another-process

采用命令行处理

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

2。docker安装有问题。卸载docker

https://blog.csdn.net/CSDN_duomaomao/article/details/77683607

sudo apt-get purge docker-engine   //卸载docker
//卸载Docker及其依赖的不再需要的包(可能需要执行多次):
sudo apt-get autoremove --purge docker-engine

3。Docker compose异常解决方法

https://stackoverflow.com/questions/36685980/docker-is-installed-but-docker-compose-is-not-why

$ curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > ./docker-compose
$ sudo mv ./docker-compose /usr/bin/docker-compose
$ sudo chmod +x /usr/bin/docker-compose

https://blog.csdn.net/pushiqiang/article/details/78682323

最新文章

  1. ASP.NET输出JSON格式数据
  2. Windows8远程桌面CentOS 6.5
  3. [Skills] 在桌面打开一个BAT文件,CMD窗口不关闭
  4. 二十七(序幕)、【开源】EFW框架破茧成蝶
  5. 《Hadoop基础教程》之初识Hadoop
  6. iOS开发项目之二 [ App appicon与启动图]
  7. call,apply,bind函数
  8. HDU ACM 1134 Game of Connections / 1130 How Many Trees?(卡特兰数)
  9. C++11智能指针
  10. Win32 Windows编程 九
  11. 开心的金明&lt;0-1背包&gt;
  12. oracle pl/sql 存储过程
  13. relative 和 absolute 定位关系
  14. Cesium剖面分析
  15. Vue系列之 =&gt; ref获取DOM元素和组件
  16. 关于jquery中prev()和next()的用法
  17. Django admin 后台管理
  18. SQL大杂烩
  19. Vue开始
  20. NewStyleClass学习笔记[一]

热门文章

  1. socket参数的详解
  2. 企业微信的corpsecret在哪里?
  3. string遍历
  4. GUI学习之十九——QFontComboBox学习总结
  5. 针对360浏览器读取不了cookie的问题
  6. [CF434D Div1] Tree
  7. CSS伪元素选择器和属性选择器
  8. react native 之 在现有的iOS工程中集成react native
  9. Deque 容器
  10. height设置百分比的条件