1 在虚拟机上安装 Ubuntu 16.04
1.1 虚拟机下载与安装
前往 Ubuntu 16.04 下载 Desktop 版本 64 位的
注意
:i386 是 32 位,amd64 是 64 位,千万不要下载错
在Vmware 15.1.0 上安装 Ubuntu 16.04
出现 retrieving file 跳过即可
- 将终端放到快速启动栏上
1.2 虚拟机联网(如果已联网则跳过)
- 确保以下两项服务是运行的
-
为加快下载速度,可以设置下载镜像源为国内的:Ubuntu设置镜像源
-
最后
重启系统
1.3 虚拟机 ssh 配置(只在虚拟机中操作则跳过)
以下过程参考 xshell连接ubuntu虚拟机(NAT模式)
- Windows 系统 cmd 输入 ipconfig 命令,查看主机 IP
- Ubuntu 终端输入 ifconfig ,查看 Ubuntu 的 IP
- Ubuntu终端输入 ping + Windows 的 IP,查看是否 ping 的通
- Windows 系统 cmd 输入 ping + Ubuntu 的 IP,查看是否 ping 的通
查看是否安装ssh服务
ssh localhost
如果出现下面提示则表示还没有安装:
ssh: connect to hostlocalhost port 22: Connection refused
安装ssh服务
sudo apt-get install –y openssh-server
安装完成后启动ssh
service ssh start
查看ssh状态
ps -e|grep sshd
934 ? 00:00:00 sshd
或者查看哪些端口是开放的,分别是什么进程在监听
netstat -tlpn
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 966/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 934/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 821/cupsd
tcp6 0 0 :::22 ::: LISTEN 934/sshd
tcp6 0 0 ::1:631 ::: LISTEN 821/cupsd
1.4 Putty 连接 Ubuntu 系统(只在虚拟机中操作则跳过)
Ubuntu 终端输入 ifconfig
复制 ip 地址到 Putty 中
输入用户名密码即可
XShell 同理
2 配置环境
具体配置过程见 原文链接:ETH开发(一)Ubuntu下编译ETH客户端
先升级 apt-get,慢的话参照上一个步骤更换源
- 注意:不要使用
sudo su
切换为 root 环境在执行,而是在权限不够的命令前加上sudo
sudo apt-get update
sudo apt-get -y upgrade
安装 git、curl、pip
sudo apt-get install -y git
sudo apt-get install -y curl #文件传输命令
sudo apt-get install -y python-pip #pip2 for python2.7
pip install --upgrade pip
2.1 安装 go
- 使用国内的 google 镜像下载,版本
1.14.4
# http下载 go 安装包
wget https://golang.google.cn/dl/go1.14.4.linux-amd64.tar.gz
- 解压包到
/usr/local
sudo tar -C /usr/local -xzf go1.14.4.linux-amd64.tar.gz
2.2 配置 go 环境
Ubuntu中使用 vim 编辑器在编辑模式下使用上下左右键会变成字母 ABCD,使用 HJKL 键又会变成上下左右,解决办法如下
cp /etc/vim/vimrc ~/.vimrc
或者 升级 vim
sudo apt-get remove vim-common
sudo apt-get install vim
vi 与 vim 的区别见:LINUX 下VI与VIM区别以及VIM的使用
- 添加 go 环境变量,可参考 ubuntu 18.04下安装golang
vi ~/.profile
注意
:sudo vim 和 vim 是不一样的,原因为:
如果你用 sudo 是 root 权限,使用的是 root 的环境变量设置, 你可以用sudo go env 查看这些设置
而 go env 看到的是当前用户的环境变量设置,前后两个不匹配。普通用户配置文件在 /home/user, root 的 /root/ 下面
- 在 profile 文件末尾加上如下环境变量
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
- 重新加载 profile 文件,加载环境变量到内存
source ~/.profile
- 测试 go 是否添加到环境变量
go version
2.3 更改 go 的代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
- 查看 go 环境
go env
- 创建go文件夹
因为我们把 go 的目录 GOPATH 设置为当前用户的文件夹下,所以记得创建go文件夹
cd ~
mkdir go
3 编译以太坊源代码
从 github 上获取 go-ethereum 源码,然后编译geth
- 由于 github 太慢,这里先把 githu 源码克隆到 gitee 上,才从 gitee 上克隆到服务器
git clone https://gitee.com/gitee-chao/go-ethereum.git
然后编译geth
cd go-ethereum
make geth
显示如下即成功
增加 geth 目录到环境变量
vi ~/.profile
增加如下内容
export PATH=$PATH:$HOME/go-ethereum/build/bin
- 重新加载 profile 文件,加载环境变量到内存
source ~/.profile
测试
geth
3 下载 Visual Code 并配置
前往 Visual Studio Code 下载
拖动到快速启动栏
通过 VS Code 打开 go-ethereum 目录,可以查看编辑源码