• 《区块链:从入门到放弃》之obc安装步骤


    obc安装步骤

    朋友们可能会好奇,厨师不研究菜谱怎么改研究兵法了,哈哈,我原本是app出身,最近被安排去预研区块链和比特币技术,2个月下来,颇有斩获。期间得到IBM的CC同学指导我一步一步安装obc的环境。学习期间,把安装步骤整理下来,以飨后人。

    这门技术我的感受是,噱头更多一些,它里面有很深刻的思想在里面,但还很难应用到现实中,尤其是金融行业之外的其他垂直领域。所以接下来有机会,我要写本《区块链:从入门到放弃》的书。

    咸盐少叙,赶快介绍OBC的安装步骤:

     

    1.下载并安装Vagrant和VitualBox。

    http://www.vagrantup.com/downloads

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

    注:接下来的步骤如果安装官方文档,必死无疑,我曾经卡了耽误很久,因为很多网站国内不能访问。为此,我们采取折中的办法,把被屏蔽的网址上的下载文件,通过其他渠道提前下载好,然后手动安装。

    2.下载ubunta镜像。

    https://atlas.hashicorp.com/obc/boxes/dev-env/versions/0.2.1/providers/virtualbox.box

    改个名字吧,比如重命名为openchain.iso,叫什么不重要,只是为了好认。

    3.把镜像添加到vagrant中。

    vagrant box add --name obc/dev-env /Users/baojianqiang/Downloads/blockchain.iso

    其中,最后一个参数是ubunta镜像在本机的路径,上面这个路径是我本机的存放路径。

    关于vagrant本地添加box镜像的更多介绍,请参见:

    http://www.imooc.com/qadetail/62953

    4.启动镜像

    首先,进入到obc-dev-env所在的目录,执行vagrant up命令,Vagrant会执行目录下的Vagrantfile文件

    注:我们事先要修改一下这个Vagrantfile文件:

    1)      删除config.vm.box_version这行,否则手动安装就不能进行。

    2)      删除./setup.sh这行。我们要手动执行setup.sh脚本。

    接下来,运行vagrant ssh命令启动镜像。

             这时看光标所在的那行,你会发现,我们进入到vagrant的ubunta系统了,接下来执行的命令都将在ubunta上运行。

             同时你可以启动VisualBox,有3个共享目录,这是在Vagrantfile文件中设置过的结果,主机和虚机的目录映射关系如下:

             此外,输入node –v,会检查到虚机上安装的是v0.12.7版本。输入git version,会检查到虚机上安装的是1.9.1版本。

    5.手动逐步执行setup.sh脚本

             Vagrantfile文件会执行脚本文件setup.sh。这个脚本主要干了几件事情:

    1)      Ubunta系统更新

    2)      下载并安装Docker

    3)      安装python相关(包括pip、behave和nose)

    4)      更新flask、python-dateutil、pytz、pyyaml、conchdb、flask-cors和requests

    5)      下载并安装GO

    6)      下载并安装RocksDB,并设置CGO_CFLAGS和CGO_LDFLAGS

    7)      下载并安装ProtoBuf

    8)      配置RocksDB(为此需要创建目录、开权限然后更新limits.conf)

    我们要修改这个脚本文件,因为里面有些东西下载不了。

    删除docker run --rm busybox echo All good这行,这是为了测试Docker安装是否成功的,只是一个测试,但是这次测试要下载busybox,而这个在国内是不能访问的,所以干脆删除不执行了。

    先做一些准备工作

             1)获取ubunta虚机的root权限,输入su命令,要去我们输入密码。ubunta虚机的默认账户和密码都是vagrant。

             接下来进入到虚机的vagrant目录,对应本机的obc-dev-env目录:

             cd /vagrant

             2)在Ubunta系统,想要执行一个sh脚本,需要输入以下命令:

    chmod +x setup.sh

             ./setup.sh

    接下来我把setup.sh脚本文件拆分为若干小的文件,每个文件只干一件事情:

             1)setup1.sh

    下载并安装Docker

             2)setup2.sh

             下载并安装python、pip、behave和nose

             更新一些插件,如flask。

             3)setup3.sh

             安装go语音环境。

             这会间接执行installGolang.sh脚本。脚本中有两句话可能会不能执行,因为golang.org在国内不能正常访问:

             # Install Golint and goimports

             go get github.com/golang/lint/golint

    go get golang.org/x/tools/cmd/goimports

             go get语句的作用是先下载,然后在下载的目录中执行go install,后面这个命令会生成结果文件(可执行文件或.a包,然后将其转移到$GOPATH/bin目录下)。

             解决方案是,我们手动将其下载,然后复制到共享目录,接下来手动执行go install即可 

     

    这时候在命令行输入go还提示我们找不到该命令。进入到etc/profile.d目录,对gopath.sh文件执行source命令:

             cd /etc/profile.d

             source gopath.sh

             4)setup4.sh

             下载并安装RocksDB和Protobuf

    进入到etc/profile.d目录,对gopath.sh文件执行source命令:

             cd /etc/profile.d

             source rocksLDLibrary.sh

             注:每打开一个ssh窗体,都要执行第3步和第4步这两个source命令。

  • 相关阅读:
    background-position-x和background-position-y的兼容性问题
    用SVGDeveloper制作svg地图
    实现绝对定位元素水平垂直居中的两种方法
    用-webkit-box-reflect制作倒影
    解决ul的li横向排列换行的问题
    用echarts.js制作中国地图,点击对应的省市链接到指定页面
    css3制作扇形菜单
    IE7中a标签包含img,点击img,链接失效的bug
    ie7中position:fixed定位后导致margin:0 auto;无效
    背景图片铺满全屏的方法
  • 原文地址:https://www.cnblogs.com/Jax/p/5383341.html
Copyright © 2020-2023  润新知