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具体配置
请购买或者合法获取许可证密钥,例如 NV4CL-0J3D6-ZZMM1-T10QH-13DPX ,然后就安装成功了。
3. 新建64位虚拟机
铂链官网推荐使用UBUNTU 64位操作系统。
3.1 下载Ubuntu Server 18.04.1 LTS版本
点击链接下载Ubuntu Server 18.04.1 LTS 版本到本地。
3.2 VMWARE虚拟机按向导安装Ubuntu
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。
辉哥使用的是ThinkPad E550的笔记本,采用频繁按Fn+F12的方式在重启的时候进入BIOS系统(好难输入,一不小心就进入正常启动模式了)。
1,切换到Security,选择Virtualization,回车
2、选中Intel(R) Virtualization Technology回车,改成Enabled保存重启
电脑主板非常多,不同品牌、不同机型BIOS设置都不一样,这边仅列举一部分作例子,如果你BIOS跟本文介绍的都不同,那么只能自己去BIOS一个个找,一般在Advanced、Security、BIOS Features、Configuration下面,找到Intel Virtualization Technology按回车键选择Enabled,表示开启。更多型号操作点击参考文章《VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决》。
5. 安装虚拟机
这步因为辉哥笔记本显示的原因,看不到[Done]按钮,采用TAB键一直往下按后再按OK键就会有18的告警提示。
完成后Ubuntu 64位操作系统就安装好了。
6. 配置GO环境
6.1 Xshell 4的访问Ubuntu环境
直接在Ubuntu虚拟机上访问在输入命令时有点不方便,为了能直接copy的方式简化输入,辉哥采用Xshell 4终端命令的方式访问。
1,修改虚拟机的IP为网桥模式。
这样便于把虚拟机当做另外一台同等的主机看待。
2,XSHELL的链接配置
这儿的IP地址为Ubuntu64重启后输入ifconfig获取的虚拟机IP地址。
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
【告警】这种修改方法为临时修改,关闭窗口就失效。以下方法为永久有效, 记得重启系统才生效哦
通过修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/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个环境并总结输出的请本文回复输出地址,以便加入说明。让我们一起玩转铂链!