区块链源码学习 : obc-peer 环境搭建 ( 一 )

配置开发环境

当前开发环境使用varant来运行一个ubuntu镜像,ubuntu中运行着docker容器。 主机->ubuntu->docker。

该模型可以使开发者使用它们自己喜欢的编辑器/操作系统,并且为长期开发的团队提供可控制的环境。

先前的准备

Git client (能够ping通google) Go(1.6或以上) Vagrant(1.7.4之上) Virtualbox(5.0之上)

BIOS开启了虚拟化,对于未开启虚拟化的电脑,可以在security中进行设置。

步骤

(1) 首先为host配置gopath。 (2) 对于windows用户而言,需要修改core.autocrlf这个字段。 通过git config --get core.autocrlf查看它的值 如果为true,需要修改为false

git config --global core.autocrlf false

(3)clone obc-peer项目

cd $GOPATH/src
mkdir -p github.com/openblockchain
cd github.com/openblockchain
git clone https://github.com/openblockchain/obc-peer.git

(4)clone obc-dev-env project 创建workspace目录,不要再gopath路径下

cd WORKSPACE
git clone https://github.com/openblockchain/obc-dev-env.git

(5)安装虚拟机、推荐使用全局代理。 在WORKSPACE/obc-dev-env 目录下执行

vagrant up

在这个过程中会下载镜像及其它文件。这一过程中要保证良好的网速。由于需要下一些被墙了的包,务必使用代理。

没有返回错误后,运行 Vagrant ssh。 初始密码:vagrant 如果返回错误,则打开virtualbox,将下载的镜像删除,重新下载。

编译运行

进入ubuntu的gopath路径下,

cd $GOPATH/src/github.com/openblockchain/obc-peer
go build

进行编译。

运行:

cd $GOPATH/src/github.com/openblockchain/obc-peer
./obc-peer

可以查到类似如下图所示的命令行

执行相应指令即可运行。

常见问题

vagrant教程

go for eclipse

vagrant up报错

vagrant安装包

ld cannot find -lbz2

ld cannot find -lsnappy

linux go 安装包

Vagrant Virtualbox windows版

出现这种错误往往是秘钥不匹配的结果,在\obc-dev-env\目录下输入vagrant up 会自动生成一个.vagrant文件,然后在.vagrant\machines\default\virtualbox下新建一个文件private_key,

这个其中的秘钥要和openchain镜像中的vagrant_private_key中的内容保持一致

具体参考:http://serverfault.com/questions/586059/vagrant-error-connection-timeout-retryingrying

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

2 条评论
登录 后参与评论

相关文章

来自专栏LEo的网络日志

shell相关分享

2705
来自专栏云端漫步

harbor源码分析之部署脚本解析(二)

在第一篇harbor源码系列中,对整个体系做了拆分. 开发的主线是从源码--->构建----->部署.那么源码学习就要逆操作部署----->构建----->源码

270
来自专栏Android随笔

mac学习笔记

在打开的文本文件中,添加如下内容(/XXX/XXX/platform-tools/为你的adb路径)

632
来自专栏小狼的世界

IPython介绍

IPython 是 Fernando 在 2001 开始开发的一个交互式的Python解释执行环境。众所周知,Python提供了一个交互执行的环境,在命令行输入...

833
来自专栏木头编程 - moTzxx

laravel5.0+ 常见报错整理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

782
来自专栏wblearn

package.json文件快速入门详解

相信入门nodejs或者npm的同学会对package.json这个文件有疑惑,对这个文件的作用不是很清晰,但搭建自己的博客每每用到node,npm这个文件又必...

751
来自专栏Python小屋

详解Python项目开发时自定义模块中对象的导入和使用

背景:1)任何一个Python程序文件既可以直接执行,也可以作为模块导入再使用其中的对象;2)对于大型系统开发,一般不会把所有代码放到单个文件中,而是根据功能将...

3435
来自专栏青枫的专栏

Github上如何为开源项目提bug?

如何为开源项目提bug?   大家都知道,在解决一个问题之前,必须先了解这个问题,所以创建一个 问题(Issues) 来帮助开源项目是一个很好的方式。   ...

612
来自专栏Pythonista

macos修改vmware Fusion的NAT网络

1.点击vmware Fusion > 偏好设置 > ( command + , )网络

452
来自专栏对角另一面

读Zepto源码之Gesture模块

Gesture 模块基于 IOS 上的 Gesture 事件的封装,利用 scale 属性,封装出 pinch 系列事件。 读 Zepto 源码系列文章已经放到...

1960

扫码关注云+社区