Compile the source code

Step 1. 安装git

sudo apt-get install git

Step 2. 安装vagrant(ubuntu系统)

下载地址https://releases.hashicorp.com/vagrant/1.8.6/vagrant_1.8.6_x86_64.deb,然后双击,install即可。

在命令行中执行which vagrant,结果为/usr/bin/vagrant,说明安装成功

Step 3.安装VirtualBox

https://www.virtualbox.org/wiki/Linux_Downloads

Step 4.安装go

下载Go语言安装包https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz

在命令行执行如下命令: sudo tar -C /usr/local -xzf go1.7.1.linux-amd64.tar.gz

Step 5.下载ubuntu镜像

p { margin-bottom: 0.1in; line-height: 120% }

https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.1.0/providers/virtualbox.box

Rename the filename to blockchain.iso(whatever you what to call,It doesn't matter)

Step 6.vim ~/.profile配置如下参数

p { margin-bottom: 0.1in; line-height: 120% }
a:link { }
vim ~/.profile配置如下参数
--> { }
p { margin-bottom: 0.1in; line-height: 120% }
a:link { }
vim ~/.profile配置如下参数
--> { }

export GOROOT=/usr/local/go

export GOPATH=/opt/gopath

export GOBIN=/usr/local/go/bin

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

save and then run  source ~/.profile

Step 7.创建GOPATH路径

cd /opt
sudo mkdir gopath
sudo chown -R gupp:gupp gopath //change the owner and group to your computer

Step 8.创建farbic相关目录

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

Step 9:下载代码

fork the source code to your own git repositories

git clone https://github.com/minxinfeng/fabric.git //the fabric must be in the folder $GOPATH/src/github.com/hyperledger

pre.cjk { font-family: "Nimbus Mono L", monospace }
p { margin-bottom: 0.1in; line-height: 120% }
a:link { }

10.Attach the box we downloaded into vagrant:

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant box add --name hyperledger/fabric-baseimage  /home/gupp/blockchain.iso

11.Modify the file Vagrantfile

comment these commands:

#./setup #that means it will run setup file to do somethings

#config.vm.box_version = ENV[

12.Start virtualbox using command   vagrant up  ,can refer this document:fabric devenv Vagrantfile配置

13.SSH to virtualbox and do something using command  vagrant ssh

14.The
following steps we will do in the VM
, and in folder
$GOPATH/src/github.com/hyperledger/fabric/devenv

setup.sh
do the following things, so we split it into seveal parts to run

1)Install docker and
start the docker service

2)Install some
useful commands by  /hyperledger/scripts/provision/host.sh, such
as docker-compose/python-dev/libyaml-dev/Python
grpc/Tcl/NPM/Jdk/Gradle.

Note:The
docker-compose and gradle are downloaded from network. I changed to
download it first and then using local file to install

3)compile the
commads by    make clean peer

4) set the
environment

Then, we can in
folder fabric to make images and memberserv

make images  //Then
using command docker images can find the images we just made

make memberserv

Note:DO
NOT USE SUDO

15. Package
our box

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant package

now we get the package.box that can be used in other Ubuntu System following the next steps.

Install on other Ubuntu System with the package.box generated

1.Do the same thing following the above steps: step2,3,4,6,7,8

2.Copy the fabric folder(with the compiled files) into folder $GOPATH/src/github.com/hyperledger

3.Attach the box we packaged into vagrant:

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant box add --name hyperledger/fabric-baseimage  /home/gupp/package.box

4.Modify the file Vagrantfile

comment these commands:

#./setup #that means it will run setup file to do somethings

#config.vm.box_version = ENV[

5.Start virtualbox using command  vagrant up ,can refer this document:fabric devenv Vagrantfile配置

6.SSH to virtualbox and do something using command  vagrant ssh

And now we install it, enjoy your blockchain

Problems

Run commands 1-8 in a virtualbox running on Windows:

//进入devenv所在文件夹
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
//执行如下命令
vagrant up
//该命令行直接下载ubuntu镜像,下载地址https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.0.11/providers/virtualbox.box
vagrant ssh

vagrant执行完成之后,报错,因为在虚拟机中无法再次开启虚拟机,因此只能在真机上进行环境部署。错误信息如下:

TBD

1. core/chaincode/shim/java/javabuild.sh How to configure the jar by using local jar

2. make gotools :There have some questions

数据库位置/var/hyperledger/production

linux安装open block chain的更多相关文章

  1. Linux 安装及配置 Nginx + ftp 服务器

    Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...

  2. Linux安装-kickstart无人值守安装

    Linux安装-kickstart无人值守安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家做运维估计都避免不了时不时会去机房安装一台linux服务器,但是服务器启动的特别慢 ...

  3. Linux 安装 Oracle 11g R2

    一.安装环境 Linux服务器:Centos 6.4 64位 Oracle服务器:Oracle11gR2 64位 二.系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的 ...

  4. Block Chain Learning Notes

    区块链是什么 区块链技术是由比特币创造的,本文也将从比特币开始进行引导,一步一步告诉大家什么是区块链.如果你想立马知道区块链是什么,也可以直接转到文章末尾的区块链定义. 区块链,可能是当下最有前景又充 ...

  5. Arch Linux 安装简明流程

    Arch Linux 安装简明流程 这是一篇为 GPT/EFI 引导 的电脑安装 Arch Linux(双系统)的中文简明流程,尽可能省略了可以省略的流程与文字以使得篇幅尽量短小,基本上基于 Arch ...

  6. 搜狗输入法linux安装 以及 12个依赖包下载链接分享

    搜狗输入法linux安装版,先安装各种依赖包,大概12个依赖,可能中途还需要其他依赖,可以效仿解决依赖问题.如图这12个文件要是手动点击下载,那也太笨点了,我们要用shell命令批量下载.命令如下:w ...

  7. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  8. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  9. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

随机推荐

  1. BZOJ 2179: FFT快速傅立叶

    2179: FFT快速傅立叶 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2923  Solved: 1498[Submit][Status][Di ...

  2. JS写小游戏(一):游戏框架

    前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 ...

  3. C#操作剪贴板

    操作剪贴版,主要用到了ClipBoard类. 该类位于 System.Windows(WPF)或System.Windows.Forms(Winform)下. 1.设置内容到剪贴版上: 主要用到Cli ...

  4. Linux/Mac/Shell常用命令

    常用命令 · ls 查看当前目录下的文件 · cd 进入某目录 · cd - 跳转回前一目录 · cd ~ 进入当前用户个人目录 · pwd 输出当前所在路径 · mkdir 新建文件夹 · touc ...

  5. Python Day7

    概述 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法 ...

  6. String类的compareTo()方法的源码解析

    private final char value[]; 字符串会自动转换为一个字符数组. public int compareTo(String anotherString) { //this -- ...

  7. JAVA起名规范

    1:包名 package com.cenzhongman.模块名.组件 必须全部小写,作为java文件第一行代码 2:类名 名词,表示一类实物,如:人类 首字母大写 3.接口名 形容词/副词,表示一种 ...

  8. MySQL随机获取数据的方法,支持大数据量

    最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到 ...

  9. PG 函数的易变性(Function Volatility Categories)

    此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘201 ...

  10. 前端开发者进阶之函数柯里化Currying

    穆乙:http://www.cnblogs.com/pigtail/p/3447660.html 在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接 ...