专栏首页区块链入门铂链第1课 如何在WINDOWS操作系统下搭建BOTTOS开发环境

铂链第1课 如何在WINDOWS操作系统下搭建BOTTOS开发环境

1. 文章摘要

铂链(Bottos)是国内首个基于区块链技术的数据共享、AI模型共享生态一站式应用平台,是实现将数据和模型通过点对点网络进行登记发行、转让交易的去中心化网络共享协议。

【本文目标】 辉哥要通过五节课程,把铂链从环境搭建到DAPP开发等基本功能讲透。 本文是铂链系列课程的第一节课,通过本文阐述,可以学习如何在WINDOWS下(UBUNTU 64位虚拟机)搭建铂链环境。

【技术收获】 辉哥以WINDOWS 10为例搭建铂链开发环境,按照以下顺序完成安装后,你将获得相关知识和一个可使用的BOTTOS环境: 1,安装VMware虚拟机 2,安装Ubuntu 64位系统 3,配置远程登录Ubuntu系统 4,安装GO环境

2. 安装VMware虚拟机

【概念普及】VMWare (Virtual Machine ware)是一个“虚拟PC”软件公司.它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少。

2.1 下载VMware虚拟机安装软件

笔者以安装VMware 10为例。安装程序下载地址:https://pan.baidu.com/s/1bl2hHYllKB7X0Z8p50IAOA 密码:o0ki

2.2 点击安装VMware具体配置

1

2

3

4

5

6

7

8

9

请购买或者合法获取许可证密钥,例如 NV4CL-0J3D6-ZZMM1-T10QH-13DPX ,然后就安装成功了。

10

3. 新建64位虚拟机

铂链官网推荐使用UBUNTU 64位操作系统。

3.1 下载Ubuntu Server 18.04.1 LTS版本

点击链接下载Ubuntu Server 18.04.1 LTS 版本到本地。

3.2 VMWARE虚拟机按向导安装Ubuntu

1.虚拟机.png

2.选择安装文件(前面下载的ISO文件).png

3.选择安装64位虚拟机

4.选择用户名.png

5.虚拟机命名.png

6.虚拟机文件(硬盘空间足的可改为40G).png

7.完成.png

4. 更改BIOS配置

安装后虚拟机重启,有如下弹窗告警。 VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么回事?Intel VT-x完整名称是Intel Virtualization Technology,就是Intel虚拟技术,开启它可以让硬件平台同时运行多个操作系统,是虚拟机软件运行必备的技术之一,如果禁用,就会弹出“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”这个提示,解决办法就是进BIOS开启Intel Virtualization Technology。

7.修改BIOS配置.png

辉哥使用的是ThinkPad E550的笔记本,采用频繁按Fn+F12的方式在重启的时候进入BIOS系统(好难输入,一不小心就进入正常启动模式了)。

1,切换到Security,选择Virtualization,回车

1

2、选中Intel(R) Virtualization Technology回车,改成Enabled保存重启

2

电脑主板非常多,不同品牌、不同机型BIOS设置都不一样,这边仅列举一部分作例子,如果你BIOS跟本文介绍的都不同,那么只能自己去BIOS一个个找,一般在Advanced、Security、BIOS Features、Configuration下面,找到Intel Virtualization Technology按回车键选择Enabled,表示开启。更多型号操作点击参考文章《VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决》

5. 安装虚拟机

10. select lanague english.png

11.keyboard.png

12. Install Ubuntu.png

13. network connection.png

14. Configure Proxy.png

15. mirror.png

16. Use An Entire Disk.png

这步因为辉哥笔记本显示的原因,看不到[Done]按钮,采用TAB键一直往下按后再按OK键就会有18的告警提示。

17. FileSystem Setup.png

18.setup.png

20.Profile setup.png

21. snap.png

22.setup.png

完成后Ubuntu 64位操作系统就安装好了。

6. 配置GO环境

6.1 Xshell 4的访问Ubuntu环境

直接在Ubuntu虚拟机上访问在输入命令时有点不方便,为了能直接copy的方式简化输入,辉哥采用Xshell 4终端命令的方式访问。

1,修改虚拟机的IP为网桥模式。 这样便于把虚拟机当做另外一台同等的主机看待。

23.网络配置.png

2,XSHELL的链接配置 这儿的IP地址为Ubuntu64重启后输入ifconfig获取的虚拟机IP地址。

1

2

6.2 安装GO环境

【1】下载go源码

wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz

下载成功输出结果:

duncanwang@ubuntu64bit-server:~$ wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
--2018-11-10 12:56:38--  https://dl.google.com/go/go1.11.linux-amd64.tar.gz
Resolving dl.google.com (dl.google.com)... 203.208.41.78, 203.208.41.71, 203.208.41.69, ...
Connecting to dl.google.com (dl.google.com)|203.208.41.78|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 127163815 (121M) [application/octet-stream]
Saving to: ?.o1.11.linux-amd64.tar.gz?

go1.11.linux-amd64.tar.gz                       100%[======================================================================================================>] 121.27M   847KB/s    in 2m 8s   

2018-11-10 12:58:46 (974 KB/s) - ?.o1.11.linux-amd64.tar.gz?.saved [127163815/127163815]

【2】将go解压到/usr/local目录下

sudo tar -zxvf go1.11.linux-amd64.tar.gz -C /usr/local

成功输出结果:

...
go/test/undef.go
go/test/utf.go
go/test/varerr.go
go/test/varinit.go
go/test/writebarrier.go
go/test/zerodivide.go

【3】将/usr/local/go/bin目录添加至PATH环境变量

export PATH=$PATH:/usr/local/go/bin

成功输出结果:

duncanwang@ubuntu64bit-server:~$ export PATH=$PATH:/usr/local/go/bin

【4】 检查Go语言环境是否安装成功

go env 成功输出结果:

duncanwang@ubuntu64bit-server:~$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/duncanwang/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/duncanwang/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build172067623=/tmp/go-build -gno-record-gcc-switches"

【5】配置GOPATH工作目录 进入上述go env的返回结果中GOPATH所对应的目录(辉哥环境为GOPATH="/home/duncanwang/go"),并创建相应的工作目录。

成功输出结果:

duncanwang@ubuntu64bit-server:~$ mkdir go
duncanwang@ubuntu64bit-server:~$ cd go
duncanwang@ubuntu64bit-server:~/go$ mkdir bin pkg src src/github.com src/golang.org
duncanwang@ubuntu64bit-server:~/go$ ls
bin  pkg  src

至此,BOTTOS在Ubuntu 64bit的环境搭建完毕。

7. 常见问题收集

(1)GO环境搭建后输入 go env 提示错误

【现象】 GO环境搭建后输入 go env提示不是可执行的二进制文件。 辉哥环境输出结果为:

duncanwang@ubuntu:~/work/bottos$ go env
-bash: /usr/local/go/bin/go: cannot execute binary file: Exec format error

【原因分析和解决方案】 原因是虚拟机的环境为32位的Ubuntu。需要更换GO的安装包。 不过BOTTOS目前(2018.11.11)只支持64位的操作系统环境,更换安装包还会在后面BOTTOS运行时遇到问题。 更换GO安装包为32位的命令。

wget https://dl.google.com/go/go1.11.linux-386.tar.gz
sudo tar -zxvf go1.11.linux-386.tar.gz -C /usr/local

8. 参考

(1)VMware 安装 Ubuntu Server 18.04.1 LTS (2)VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决 (3)铂链开发者文档-搭建开发环境

辉哥在搭建过程中,得到铂链-袁俊亮,大妞妞的支持,深表感谢。


辉哥还没有在iMAC操作系统,CentOS搭建过铂链环境。有完成这2个环境并总结输出的请本文回复输出地址,以便加入说明。让我们一起玩转铂链!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【实践】Golang的单元测试入门go test

    go test命令,相信大家都不陌生,常见的情况会使用这个命令做单测试、基准测试和http测试。go test还是有很多flag 可以帮助我们做更多的分析,比如...

    辉哥
  • 芯链第1课 如何在Ubuntu64位系统下搭建HPB开发环境

    本文详细讲解如何在Ubuntu 64位虚拟机上搭建HPB开发环境,并给出了遇到的各种问题的解决方法。主要包括: (1)下载HPB版本并编译; (2)创建账号...

    辉哥
  • 【实践】VS Code(Visual Studio Code)环境常见问题

    VS Code常见插件的功能包括: • Colorization 代码着彩色 • Completion Lists 代码自动完成(使用gocode) • ...

    辉哥
  • 【从零开始学习Go语言】四.Go常用命令释义

    go run 命令用于编译并运行命令源码文件,如果你用vim编辑go文件并希望他暂时跑起来查看效果,使用此命令:go run file_name

    一只特立独行的兔先生
  • Go 语言分享

    Go 语言从 2009 年发布第一版开始,逐渐变的流行,被人所熟知,但是很多人可能听说过 go,但是对 go 的特性并不是很了解,这里主要介绍 go 的一些关键...

    serena
  • 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录

    我们接下来一个一个来看关于Go语言中的三个目录的详细解释 先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:...

    coders
  • C语言和go语言之间的交互 - C语言中使用go语言,使用的go语言又使用了c语言

    一、go语言中使用C语言 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import “C” 即可在go代码中使用C函数 ? 代码...

    magicsoar
  • Docker 镜像多阶段构建

    本文内容来自我参与维护的 《Docker 从入门到实践》 项目。 之前的做法 在 Docker 17.05 版本之前,我们构建 Docker 镜像时,通常会采用...

    康怀帅
  • GO 依赖管理工具go Modules(官方推荐)

    以前写过一篇关于go管理依赖包工具 dep的文章,当时认为dep将会成为官方依赖工具,现在看来是自己图样图斯内幕破了,正如官方一直提到dep是“official...

    孤烟
  • Go命令官方指南【原译】

    如果构建的参数是.go文件的列表,则build会将它们视为指定单个包的源文件列表。

    sunsky

扫码关注云+社区

领取腾讯云代金券