搭建Hyperledger fabric的开发环境

搭建Hyperledger fabric的开发环境

等一轮残月 海盗王 船龄 9.2年 来源 质本网络
 85235  4

概述
目前Hyperledge fabric的开发环境是使用一个运行在Vagrant里的Ubuntu映像,并在里边依次运行若干Docker容器。 从概念上说,就是在一个主机上启动了一个虚拟机,然后在其上依次启动Docker容器。
Host -> VM -> Docker
这个模型允许开发者利用他们自己喜欢的操作系统和编辑器来开发,与此同时呢,又可以让系统运行在一个与开发团队一致的受控环境中。
  • 注:你的主机不能运行在虚拟机中。如果你尝试运行在虚拟机中,会得到一个条启动错误信息(VT-x不可用)。

准备项
  • Git client
  • Go - 1.6 or later
  • Vagrant - 1.7.4 or later
  • VirtualBox - 5.0 or later
  • 在BIOS中打开虚拟化(Virtualization)选项

注:Note: 虚拟化(Virtualization)选项一般在BIOS的CPU或安全设置中。

步骤
设置GOPATH环境变量

请确保你正确设置了你主机上的GOPATH环境变量. 正确设置了之后,你就能够在主机和虚拟机上构建代码了。

Windows用户请注意
如果你是Windows用户,在运行任何 git clone 命令之前,先运行下面的命令:
git config --get core.autocrlf

如果 core.autocrlf 为 true, 你必须把它设为 false 来运行下面的命令:
git config --global core.autocrlf false

如果你把 core.autocrlf 设为 true 的话,命令 vagrant up 就会失败并提示 ./setup.sh: /bin/bash^M: bad interpreter: No such file or directory

克隆Peer工程
在Github的Web界面中创建一个fabric的副本。 接下来,在适当的目录中克隆你的fabric副本。

cd $GOPATH/src
mkdir -p github.com/hyperledger
cd github.com/hyperledger
git clone https://github.com//fabric.git

使用Vagrant引导并配置虚拟机
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant up

注意 #1: 如果你需要通过HTTP代理服务器上网,你需要更多的配置才能确保虚拟机完成构建。你可以使用 vagrant-proxyconf 插件。 用命令vagrant plugin install vagrant-proxyconf 完成安装,然后在你执行 vagrant up 之前设置VAGRANT_HTTP_PROXY和VAGRANT_HTTPS_PROXY这两个系统环境变量。详见: https://github.com/tmatilai/vagrant-proxyconf/

注意 #2: 第一次执行 vagrant up 这个命令时会需要相当长的时间(可能30分钟以上),可能在过程中它可能像是死掉了,但是在你没有得到错误提示之前别管它。
完成后,你就能在同一个目录执行下边的命令SSH到你的新虚拟机上了。

vagrant ssh

当你登录进去之后,你可以发现peer工程就在 $GOPATH/src/github.com/hyperledger/fabric 下(/hyperledger).

注意: 任何时间在你主机上的fabric目录($GOPATH/src/github.com/hyperledger/fabric)中执行 git clone 命令来更新任何工程,与此同时虚拟机的fabric目录也会被同步更新。
  • 全部
  • 最佳
  • rangeroversport 水手 船龄 5.4年 2017-03-16 12:04:47
    最新的fabric代码:
    bccsp/pkcs11/pkcs11.go
    vendor/http://github.com/miekg/pkcs11.go
    文件名相同,包名也相同,不会有问题?

    我make peer的时候报错:
    bccsp/pkcs11/pkcs11.go:92: undefined: pkcs11.SessionHandle
    bccsp/pkcs11/pkcs11.go:118: undefined: pkcs11.SessionHandle
    ... ...

    有人遇到过么?
  • rangeroversport 水手 船龄 5.4年 2017-03-16 12:04:21
    rangeroversport
  • 易肥咯 水手 船龄 5.8年 2016-09-10 00:37:39
    请问这里在vagrant-proxyconf部分有什么合适的代理么,Github上的代理似乎并不可用,尝试了很多次了还是失败,非常感谢
  • 船龄 2016-05-05 15:38:18
    #区块链##学院# 【搭建Hyperledger fabric的开发环境】(文/质本网络)目前Hyperledge fabric的开发环境是使用一个运行在Vagrant里的Ubuntu映像,并在里边依次运行若干Docker容器。 从概念上说,就是在一个主机上启动了一个虚拟机,然后在其上依次启动Docker容器……http://t.cn/RqWmWU1
登录 账号发表你的看法,还没有账号?立即免费 注册
推荐教程
换一批