准备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

006/搭建fabric(二)的更多相关文章

  1. Hyperledger Fabric手动生成CA证书搭建Fabric网络

    之前介绍了使用官方脚本自动化启动一个Fabric网络,并且所有的证书都是通过官方的命令行工具cryptogen直接生成网络中的所有节点的证书.在开发环境可以这么简单进行,但是生成环境下还是需要我们自定 ...

  2. (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)

    LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...

  3. Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

    Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

  5. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  6. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  7. vue项目搭建 (二) axios 封装篇

    vue项目搭建 (二) axios 封装篇 项目布局 vue-cli构建初始项目后,在src中进行增删修改 // 此处是模仿github上 bailicangdu 的 ├── src | ├── ap ...

  8. linux下Oracle11g RAC搭建(二)

    linux下Oracle11g RAC搭建(二) 一.安装前配置 网络的配置 IP占用測试 进入windows下.运行cmd,使用ping命令验证网段是否被占用. 注:用哪个网段都行,一定保证不要被其 ...

  9. 用lua nginx module搭建一个二维码

    用lua nginx module搭建一个二维码(qr code)生成器 作者 vinoca 發布於 2014年10月31日 如果有VPS,或者开源的路由器,安装一个nginx,添加lua-nginx ...

随机推荐

  1. raft协议-分布式环境下的数据一致性问题

    阅读了一个有意思的ppt,是Standford大学发表的raft协议 网址:http://thesecretlivesofdata.com/raft/ 下面自己总结下咯: 1.raft是一个实现了解决 ...

  2. 定时任务crond、crontab

    crontab命令是用来设置定时任务规则的配置命令,配置文件/etc/crontab 与/var/spool/cron/目录下当前用户名的文件. -l 显示当前定时任务 -e 编辑定时任务 对于roo ...

  3. 锁,Event,semaphore

    GIL:全局解释锁:无论开启多少个线程,同一时刻只允许执行一个线程运行(解释器级别,保护数据)锁:两种状态,锁定和未锁定,仅支持两个函数,获得锁和释放锁 多线程抢夺锁时,当某个线程获得锁了,其他的锁都 ...

  4. VS 2012 Unit Test

    1,Open Tool->Custmoize 2,Create Unit Tests Move Down Run Test 3,Restart run VS 4,Create UnitTest ...

  5. STM32CubeMX FreeRTOS no definition for "osThreadGetState" 解决办法

    用STM32CubuMX默认加入的FreeRTOS默认配置eTaskGetState是禁止的 把该功能设为Enabled编译就不会出错了 IAR的编译器要勾选Allow VLA

  6. Azure IoT 技术研究系列4

    上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...

  7. Django【第28篇】:优化查询的方式

    优化查询的方式 一.假设有三张表 Room id 1 2 .. 1000 User: id 1 .. 10000 Booking: user_id room_id time_id date 1 1 8 ...

  8. vue项目中 指令 v-html 中使用过滤器filters功能

    转载于简书 链接:http://www.jianshu.com/p/29b7eaabd1ba 问题 2.0 filters only work in mustache tags and v-bind. ...

  9. Python---进阶---文件操作---搜索文件和保存搜索结果

    ### 编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在,如果遇到文件夹,则进入该文件夹继续搜索 - input 去接受用户输入的文件名和开始搜索的路径 - os.path.isdi ...

  10. IIS部署复盘(杂记)

    首先,230是网站服务器,231主要放到是数据库:所以在230(部署的服务器)上部署不需要部署IIS和Oracle数据库, 231呢?231是数据库服务器:百度一下数据库服务器是什么? 文档第五步: ...